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

Reply via email to