Ich habe jetzt ein Workaround gefunden. Das hat aber die Einschränkung, dass es nicht mehr möglich ist, über den Druckerdialog festzulegen, dass nur noch die erste Seite gedruckt wird
Delphi-Quellcode:
procedure TrptAuditTrail.qrrpAuditTrailBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean);
// *****************************************************************************************************************************************
// Warum auch immer wurde beim Print nur die erste Seite ausgedruckt. Egal ob auf realen Drucker oder "PrintToPdf". Im Preview wurden aber
// alle Seiten angezeigt. Erst wenn der Druckerdialog geöffnet wurde, wurden alle Seiten gedruckt
// Mit diesem Workaround werden sofort alle Seiten gedruckt.
// EINSCHRÄNKUNG: Es ist nicht mehr möglich, nur die erste Seite zu drucken
begin
// Tag wird in OnGetPrinterSettings gesetzt
if (Tag < 2) and (self.qrrpAuditTrail.PrinterSettings.Lastpage < 2) then // Funktioniert nicht mit < 1
self.qrrpAuditTrail.PrinterSettings.Lastpage := 0;
end;
procedure TrptAuditTrail.qrrpAuditTrailGetPrinterSettings(Sender: TObject; var Cancel: Boolean; DevMode: Pointer);
// *****************************************************************************************************************************************
// GetPrintersettings wird das erste mal mit Preview aufgerufen. Danach nur noch nach Schließen des Printer-Dialogs
begin
Tag := Tag + 1;
end;