Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#2

AW: QuickReport zeigt alle Seiten an, druckt aber nur die erste

  Alt 8. Sep 2023, 10:19
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;
  Mit Zitat antworten Zitat