Printing 2 copies in no-sorted order
Hi NG,
we are looking for a solution to print a let's say 3 page report in 2
copies.
The special thing is that we will use two bins for this as the paper is
chemically prepared for pushing writing on the top page to the behind copy.
This means we have to print the 6 pages in the following order:
page 1 from bin A
page 1 from bin B
page 2 from bin A
page 2 from bin B
page 3 from bin A
page 3 from bin B
I tried some things but all does not lead to the result in question.
Any idea how to do this in an elegant way?
Thanks for any feedback!
Stephan
we are looking for a solution to print a let's say 3 page report in 2
copies.
The special thing is that we will use two bins for this as the paper is
chemically prepared for pushing writing on the top page to the behind copy.
This means we have to print the 6 pages in the following order:
page 1 from bin A
page 1 from bin B
page 2 from bin A
page 2 from bin B
page 3 from bin A
page 3 from bin B
I tried some things but all does not lead to the result in question.
Any idea how to do this in an elegant way?
Thanks for any feedback!
Stephan
This discussion has been closed.
Comments
Take a look at the article below. This shows how to print each page from a
different bin. In your case you may need to create a separate field to keep
track of which copy is being printed.
--------------------------------------------
Tech Tip: Selecting Paper Bins for Each Page
--------------------------------------------
Sometimes you may want to print the first page of a report to the manual bin
and then print the remaining pages to the default bin.
You can use the Report.OnStartPage event to set the bin for any page.
Example:
procedure TForm1.ppReport1OnStartPageEvent(Sender:TObject);
var
lsBinName: String;
begin
if ppReport1.AbsolutePageNo = 1 then
lsBinName := ppReport1.PrinterSetup.BinNames[3]
else
lsBinName := ppReport1.PrinterSetup.BinNames[1];
ppReport1.Engine.Page.PrinterSetup.BinName := lsBinName;
end;
Note: The above example assumes the manual bin is 4th in the list
(remember its a 0 based index). To account for different print drivers,
you could search for the 'manual' bin in code by performing a search on
the printer's available bin names:
for liBin := 0 to ppReport1.PrinterSetup.BinNames.Count-1 do
if Pos('manual', ppReport1.PrinterSetup.BinNames[liBin]) > 0 then
begin
lsBinName := ppReport1.PrinterSetup.BinNames[liBin];
break;
end;
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
"Stephan Leiwering, AdvanTex Software"
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
thanks for the hint.
Back to my original question:
I guess that you want to set
Report.PrinterSetup.Copies := 2;
Report.PrinterSetup.Collation := False;
I will give that a try.
One more thing:
The printers in question have a stapler to permanently combine the pages of
one print job.
Are you aware how to trigger those "printing" options through RB?
Thanks for your support,
Stephan
I just gave it a try and printed from Word with a PCL driver into a file and
asked for 2 copies without sorting.
In the file I saw that the data was only included once.
This would bring me to the point that printing in my desired order would not
be possible, am I wrong?
There is no option to get in between the 2 copies I guess.
Any more ideas?
Thanks again,
Stephan
The OnStartPage event fires between every page printed (copy or not). You
should be able to use this event to define which bin each piece of paper
comes from. As I mentioned in my previous post, you will need to keep track
of how many actual pages have been printed to monitor which copy is being
printed. This could be an integer field that is incremented each time the
OnStartPage fires.
For instance, once you enter the OnStartPage, if FCopy = 2 and
Report.AbsolutePageNo = 1, then you know this is the second copy of page one
and you should change the bin to B.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
"Stephan Leiwering, AdvanTex Software"
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com