Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   QuickReport zeigt alle Seiten an, druckt aber nur die erste (https://www.delphipraxis.net/213679-quickreport-zeigt-alle-seiten-druckt-aber-nur-die-erste.html)

norwegen60 7. Sep 2023 17:09

Delphi-Version: XE

QuickReport zeigt alle Seiten an, druckt aber nur die erste
 
Hallo,

ich verwende QuickReport 5.06 zusammen mit Delphi XE.

Jetzt habe ich zwei verschiedene Report-Projekte bei denen werden in der Vorschau alle Seiten angezeigt.
Klicke ich dann auf Drucken, wird aber nur die erste Seite. Egal ob zu einem realen Drucker oder zu 2Print To PDF2. Der Fortschrittsbalken zeigt 0..100% an, gefüllt wird aber nur das erste Drittel der Progressbar.

Sobald ich Druckereinstellungen nur aufrufe und mit OK bestätige, werden alle Seiten gedruckt.
Druckereinstellungen zeigen im Druckbereich "Alles" an.

Ein dritter Report, druckt dagegen ordnungsgemäß alle Seiten. Ich habe schon alle Settings verglichen, aber die sind alle gleich
Einziger Unterschied: In dem dritten Report sind noch keine Export-Filter angehängt.

Ich habe daufhin bei den beiden betroffenen Reporta die Filter incl. Units gelöscht. Gebracht hat es aber nichts.

Hat jemand eine Idee woran das liegen könnte?

Grüße und Danke
Gerd

norwegen60 8. Sep 2023 09:19

AW: QuickReport zeigt alle Seiten an, druckt aber nur die erste
 
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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz