Discussion:
Quickreport - leere Seiten einfügen bei Duplex-Druck
(zu alt für eine Antwort)
Matthias Frey
2011-01-17 14:06:50 UTC
Permalink
Hallo,

wie machen hier mit Quickreport (4) viele Dokumente, jeweils
ca. 3-5 Seiten umfassen.
Nun soll wenn Duplex-Druck eingeschaltet ist jeweils nach
jedem Dokument eine leere Seite eingefügt werden.

Bevor ich mir da groß Gedanken mache, hat da jemand ein Rezept
wie man das am Besten macht?

Was wir schon haben:
- Feststellen ob Duplex-Druck eingeschaltet ist
- aktuelle Seitenzahl feststellen.


Grüßle
Matthias
Rene Kadner
2011-01-19 11:26:45 UTC
Permalink
Post by Matthias Frey
wie machen hier mit Quickreport (4) viele Dokumente, jeweils
ca. 3-5 Seiten umfassen.
Nun soll wenn Duplex-Druck eingeschaltet ist jeweils nach
jedem Dokument eine leere Seite eingefügt werden.
Bevor ich mir da groß Gedanken mache, hat da jemand ein Rezept
wie man das am Besten macht?
Versuch mal in einem BandBeforePrint: Sender.ParentReport.NewColumn;
Damit erzeuge ich definierte Seitenumbrüche.

Gruß
René
Matthias Frey
2011-06-15 06:37:11 UTC
Permalink
Post by Rene Kadner
Post by Matthias Frey
wie machen hier mit Quickreport (4) viele Dokumente, jeweils
ca. 3-5 Seiten umfassen.
Nun soll wenn Duplex-Druck eingeschaltet ist jeweils nach
jedem Dokument eine leere Seite eingefügt werden.
Bevor ich mir da groß Gedanken mache, hat da jemand ein Rezept
wie man das am Besten macht?
Versuch mal in einem BandBeforePrint: Sender.ParentReport.NewColumn;
Damit erzeuge ich definierte Seitenumbrüche.
Hallo,
Danke für den Hinweis. Es gibt also keine einfach Möglichkeit
(irgendweine Eigenschaft auf true setzen z.B.)

Ich habe es nun so realisiert:

In einem Elternformular:

//Aufgerufen von QRChildBandLeerseiteBeforePrint
function TFormsR000.bLeereSeiteNoetig: Boolean;
begin
Result := False;
if Ex.bDuplex then begin
if QuickRepHaupt.PageNumber mod 2 <> 0 then
Result := True;
end;
//Merken für PageFooterBand1BeforePrint
bLeereSeiteNun := Result;
end;

Dann in jedes Formular eingefügt ein Band vor den PageFooter
und da dann:

procedure TFormsR1433.QRChildBandLeerseiteBeforePrint(Sender:
TQRCustomBand; var PrintBand: Boolean);
begin
PrintBand := bLeereSeiteNoetig;
end;

Sowie im PageFooter:

procedure TFormsR1437.PageFooterBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
inherited;
...
PrintBand := not bLeereSeiteNun;
end;

Was mich daran noch stört ist, dass man das eben für jedes
Formular machen muss. Gibt es da nicht eine einfachere Lösung?
Post by Rene Kadner
Gruß
René
Grüßle
Matthias

Loading...