%OP%TM2 %OP%BM2 %OP%LM4 %OP%HE/%H2%Z88 Users' Club Software Library %OP%FO/Labelprinting/Z88 Users' Club Software Library/Page @P@ of 3/ %CO:A,12,72%%H1%Label printing in Pipedream.%H1% Sometimes you have data in table form in Pipedream that you wish to print on labels. Maybe most often addresses. Self-adhesive labels on continuous forms and sheets comes in a variety of forms. They come one, two, three or four beside each other. Different widths and heights. In a name and address list you usually have the names in the first column, the address in the second and so on. The same order as you want them on the labels, but then the name on the first line, address on the second and so on. The information of the next line in the list should then come on the next label. To make this easier I have designed a formula which makes the transition indicated above. It is to be entered and replicated to a block of slots to the right of the list. Mark this block and print your labels. %H1%Here is how you do it:%H1% Load your list <>FL. Name the file with a new name <>FC, in case you make a mistake and then save the faulty file, overwriting the original. Add the number of columns that you have labels beside each other on the forms <>EAC. Load the formula <>FL 'labelpr.pd' with the option 'Insert at slot, Yes f1'. In this example slot 'f1' is the top left slot of the new columns. Edit the formula as follows <>X. index(row-4*int((row-1)/4),col+3*int((row-1)/4)-5) ^ ^ ^ Enter here the number of columns from the list you want as lines on the labels. In this example columns a, b, c and d will be printed. index(row-4*int((row-1)/4),col+3*int((row-1)/4)-5) ^ Enter here the number of labels you have beside each other on the forms. index(row-4*int((row-1)/4),col+3*int((row-1)/4)-5) ^ Enter here the offset from the first column of the list to the first of the new columns. In this case the offset from column a to f is 5. Suppose column e contains telephone numbers. If you have not loaded the formula from the file 'labelpr.pd' but entered it directly in this slot, make the slot align left <>LAL. Replicate the formula to the slots needed <>BRE. If in this example of a list with 4 columns the last name is in row 30, there are 120 slots. Divided into three columns of labels that means 40 rows. Copy from slot f1 to slot f1 h40. Go to 'Options page' <>O. Set 'Page length' to the numbers of columns from the list = lines/label. In this example 4. Set 'Top', 'Header', 'Footer' and 'Bottom margins' to 0. If you have heading lines above the list, they can disturb the first row of labels. Either add lines at the top or delete all lines above the list. Mark a block containing the first row of labels <>Z. Print out your block on plain paper. Adjust left margin on 'Options page' and column widths to place the text correct for each label. You might have to use condensed print if the labels are narrow. Now mark the first two lines of labels. If you print out your marked block now, the first row of labels will be OK. But your printer is probably set to a page length of 66, 70 or 72 lines, each 1/6" making 11", 11 2/3" = A4 or 12". So the next row of labels will be printed this much below the first. You must now tell the printer to to use a more suitable page length. Measure the spacing of the labels from the top of one label to the top of the next. 1. If you are lucky, this is a even number of 1/6", and at least one more then the number of lines you wish to print on each label. In this example at least 5/6". Let's assume 1"=6/6". Go to PrinterEd, []E. Go to page 2, SHIFT \/ (arrow down). Go to the end of the Printer on sequence, <> > (arrow right). Add a command to set the page length to 6 lines. For Epson compatibles you add ',27,"C",6' (not the single quotes ''). 2. If you are not so lucky, check if it is an even number of your printers smaller linefeed increments. Which might be 1/72", 1/144", 1/216", 1/120", 1/96", 1/288", half-line spacing or something else. Add a command for setting the linefeed to a suitable number to look nice on the label. A combination of a to short line spacing and the Options pages' line spacing set to 2 or 3 can be used. If line spacing 11/72" looks good, (for Epson '27,"A",11') and you print four lines/label, it makes 44/72". If the spacing is 68/72", you will want to formfeed 68-44=24/72". Replace the code for Formfeed (usually 12), with a linefeed setting of 24/72", followed by a Line Feed code. For Epson '27,"A",24,10'. %P0% 3. If you are not even that lucky, don't despair. Do the best of number 2 above. Use the 'Wait between pages' option for printing, and adjust the platen when needed. The 'Wait between pages' is also useful if you print on sheets. While you are in PrinterEd, why not make the driver safer to use. Then go back to page 1, SHIFT ^. If the option for 'Off at CR' for 'Ext. sequence' is 'Y', Move the cursor to that Y and press Y. Update the driver <>FU. Go to Index, INDEX. Kill the PrinterEd you just left, <>KILL. Go back to PrinterEd, []E. The driver is still there. If you now inspect the 'Printer on" sequence, the "C" or "A" has changed to the decimal ASCII-code for capital C or A. Save the driver for future use, <>FS, with a suitable name (label.prt). Enter Index and kill the driver again and it's much safer to use. The above Y option of the default Epson printer driver is not saved at all if you don't enter it specifically. I only guess that drivers in ASCII decimal codes are safer because the default driver is such, and killed drivers revert to it. At least since I started doing this, I've had few 'Fails' in PrinterEd. To fill blank slots in the list, which will show up as 0.00 on the labels, put an exact space <> SPACE, in them. On Epson compatibles this prints as a space. For others, add a translation, character 160 changes to 32 in PrintEd. Mark the block of labels to be printed and print out. After printing, delete the marked block or the whole activity. Working with a document with many formulas is very slow. I keep with my lists, the added columns with the right widths, and the formula in a slot beside them. This way I can easily first delete the parts of the list not wanted for labels. Then replicate the formula, mark a block, load the driver and print. Afterwards I kill the activity. Z88 Users' Club Member 1080 Dennis Groning John Bryntessons vag 2 S-662 03 Svanskog Sweden %CO:B,12,60%%CO:C,12,48%%CO:D,12,36%%CO:E,12,24%%CO:F,12,12%