Printing multiple copies with collate

General TRichView support forum. Please post your questions here
Post Reply
TAG
Posts: 9
Joined: Wed Nov 02, 2005 10:12 pm

Printing multiple copies with collate

Post by TAG »

I cannot get the printing of multiple copies with collation to work. The output does not collate. I get the multiple copies, but pages are together.

I am printing to a network printer, could that cause the problem?

I can fix with a loop in my code, I was just wondering if there is a problem printing to network printers.
Sergey Tkachenko
Site Admin
Posts: 17606
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko »

Do you call Print (or PrintPages) method with the specified numbers of copies and collation flag?

A cycle in PrintPages handles collation:

Code: Select all

if Collate then
     for copyno:= 1 to Copies do
       for i := firstPgNo to lastPgNo do
       begin
         DrawPage(i, Printer.Canvas,False,False);
         DoOnPrinting(i, rvpsProceeding);
         if not ((i=lastPgNo) and (copyno=Copies)) then Printer.NewPage;
       end
   else
     for i := firstPgNo to lastPgNo do
       for copyno:= 1 to Copies do
       begin
         DrawPage(i, Printer.Canvas,False,False);
         DoOnPrinting(i, rvpsProceeding);
         if not ((i=lastPgNo) and (copyno=Copies)) then Printer.NewPage;
       end;
If the printer supports collation ((pcCopies in Printer.Capabilities) and (pcCollation in Printer.Capabilities)), trichview sets:
Printer.Copies := Copies;
Copies=1;
i.e. allows printer to handle collation itself.
I do not know, may be this printer mistakenly reports that it supports collation, but really it does not?
Post Reply