You are not logged in.
Pages: 1
I have noticed that when duplex printing (printing on both sides of the paper) directly from the .ShowPreviewForm it will not clear the second page before printing on it. The text from the first page will appear duplicated on the second page if the text for the second page does not fully cover the second page. I tried this on two separate printers (Brother 2395 laser printer & Epson 8550 ink jet) and both behave identically. Exporting to PDF and then printing duplex does not show the problem so I believe it has something to do with the internal print logic.
Offline
Works fine for me.
Does this also happen with TGDIPages.PrintPages()?
How do you set the duplex? Manually through the dialog or in code?
Some simple example code which reproduces this?
Something like this (which works for me):
procedure TForm1.Button1Click(Sender: TObject);
var
PDF: mORMotReport.TGDIPages;
begin
PDF := mORMotReport.TGDIPages.Create(Self);
try
PDF.BeginDoc;
PDF.DrawTextAt('Test page 1', 10);
PDF.NewPage;
PDF.DrawTextAt('Test page 2', 20);
PDF.EndDoc;
PDF.ShowPreviewForm; // setting printer to duplex and printing works correctly
finally
PDF.Free;
end;
end;
BTW, when printing though Adobe Reader, the chances are that the entire page is filled with whitespace and send to the printer, and thus overlapping your previous text. So this could still be a driver fault. You could test this by creating a small example with printdialog (to set the duplex option) which directly prints two pages to the printer.
Offline
Pages: 1