Colin, I'm a little confused about what you're describing, so maybe a generalized description of what the margin settings do and how this affects DPSpool (and the Windows printer drivers) may help you.
When your DP report has the print margins configured with the Bottom Margin at zero (as the DPSpool documentation calls for), DP sends a Form-Feed code when it's time for a new page. When you look at the report in the DPSpool viewer, this code looks like a cross with a circle at the top, also known as the 'Female' sign or the 'ankh' sign. Clicking the mouse cursor over this character reveals it as <012>. When DPSpool encounters this code, it in turn sends a form feed to the printer, telling it to eject the current page. For sheet fed printers, this just spits out the current piece of paper. But for dot matrix printers using continuous form paper, it tells the printer to advance the paper to the next perforation (or to where the printer thinks the next perforation is). This means that for a dot matrix printer, it's crucial that the Windows driver knows exactly what size paper is loaded into the printer so it knows how far it is between perforations. That's why I had you create the custom paper size in the Windows Print Server in an earlier message in this thread. Now you need to be sure to tell DPSpool (by including the appropriate code in your report) to use this custom paper size. You can use the Printer Information tool on DPSpool's printer setup screen to determine what paper size number corresponds to the custom paper size you created. With these settings in place, you should be able to print the entire job correctly. Going back to the DP Report Margins setting, what happens if you ever specify something other than zero for the Bottom Margin setting? Well, in this case DP handles page ejects completely differently. Then it never sends the form-feed code. Instead, it determines for itself what the paper size is by adding together the Top Margin, Text Lines, and Bottom Margin amounts. Then it keeps track of how many lines have been printed on the paper so far, and when a page eject is needed it sends a number of blank lines (hard returns) to advance the print head down to the next page. For a dot matrix printer using continuous feed paper, this might work if your math is correct and (most importantly) if you're printing directly to the printer (not using DPSpool). But under Windows and DPSpool, the pages are handled differently. Whether you're printing on continuous feed paper (i.e. dot matrix) or sheet fed paper (i.e. laser or inkjet), the Windows printer driver controls what goes to the paper, and which page it goes to. When the Windows printer driver receives more text than will fit on the current page, it essentially discards anything outside of that specific page's printable area. It doesn't start a new page until it specifically receives the Form Feed command. If (because of your setting the Bottom Margin to something other than zero) your DP report is trying to control the pagination by hard returns rather than using the form feed code, the printer driver never realizes that you want to start printing on a second (or third, or fourth, etc.) page. It says, "I'm still working on page one so I'm ignoring all of this stuff that stretches on past the bottom of page one's printable area." It makes sense, and it makes the drivers behave the same regardless of what type of printer or paper you're using. That's why the DPSpool instructions tell you to always set the Bottom Margin setting to zero, so DP uses the official Form-Feed code method of page ejection, rather than faking it with hard returns. Then the printer driver knows when to start a new page and nothing should get lost into the ether. :) Hopefully this explanation will give you a better understanding of what you need to do to get your reports working properly with DPSpool. Tim Rude ----- Original Message ----- From: "Colin Roberts" <[EMAIL PROTECTED]> To: "Dataperfect Users Discussion Group" <[email protected]> Sent: Thursday, July 26, 2007 8:28 PM Subject: Re: [Dataperf] DPSpool / Printer Configuration Question > Sorry Tim, Just re-read my email and I got it completely around the wrong > way. All I said in previous email stands except the item 7 bottom margin > details is reversed in the two scenarios. > So.... it prints the whole form without page breaks when the bottom margin > is set to zero (and that's how it looks in the viewer) and only prints the > 1st page when BM is set to 3 but the output looks ok in DPspool print viewer > before its released) > > Regards > > Colin > > ----- Original Message ----- > From: "Colin Roberts" <[EMAIL PROTECTED]> > > _______________________________________________ > Dataperf mailing list > [email protected] > http://lists.dataperfect.nl/mailman/listinfo/dataperf > _______________________________________________ Dataperf mailing list [email protected] http://lists.dataperfect.nl/mailman/listinfo/dataperf
