TPDFlibPrinter

Drucken, VCL, Dokumenterstellung

Beschreibung

Stellt eine Komponentenfassade mit dem vertrauten Lebenszyklus aus BeginDoc, Canvas, NewPage, EndDoc und Abort bereit und erstellt dabei ein PDF-Dokument, statt einen physischen Druckauftrag zu übermitteln

Deklaration

Uses PDFlibPDFPrinter;

TPDFlibPrinter = Class(TComponent)

Parameter

BeginDocStartet ein neues PDF-Dokument und stellt die erste Seite über Canvas bereit
NewPageÜbernimmt die aktuelle Zeichenfläche als PDF-Seite und öffnet die Zeichenfläche der nächsten Seite
EndDocÜberträgt die letzte Seite und schreibt FileName, wenn ein Ziel zugewiesen wurde
AbortVerwirft den aktiven Auftrag, ohne dessen Zieldatei zu schreiben, und setzt die Komponente auf ein leeres Dokument zurück
SetPageSizeLegt vor BeginDoc die Papierabmessungen im Hochformat in PDF-Punkten fest

Properties

CanvasDie aktive VCL-Zeichenfläche zwischen BeginDoc und EndDoc oder Abort
FileNameOptionaler PDF-Ausgabepfad; ein leerer Wert behält das Ergebnis nur in LibraryInstance
TitleDokumenttitel, der beim Start des Auftrags angewendet wird
DPIKoordinatenauflösung der Zeichenfläche von 24 bis 2400, standardmäßig 96
CanvasOptionsCanvas-Importmodus von -1 bis 4, standardmäßig Vektormodus 2
OrientationpoPortrait oder poLandscape; Querformat vertauscht die konfigurierten Papierabmessungen
PaperWidth, PaperHeightPapierabmessungen im Hochformat von 1 bis 14400 PDF-Punkten
PageWidth, PageHeightSchreibgeschützte aktive Abmessungen in Zeichenflächenpixeln nach DPI- und Ausrichtungskonvertierung
PageWidthPoints, PageHeightPointsSchreibgeschützte aktive Abmessungen in PDF-Punkten
PageNumberEinsbasierte aktuelle Seite während eines Auftrags und null im Leerlauf
Printing, AbortedSchreibgeschützter Lebenszykluszustand
LibraryInstanceDie eigene TPDFlib-Instanz zur Prüfung oder weiteren Verarbeitung der fertiggestellten PDF-Datei
LastErrorCodeDer zugrunde liegende Bibliotheksfehlercode des neuesten PDF-Vorgangs

Beispiel

Printer := TPDFlibPrinter.Create(nil);
try
  Printer.FileName := 'report.pdf';
  Printer.BeginDoc;
  Printer.Canvas.TextOut(72, 72, 'First page');
  Printer.NewPage;
  Printer.Canvas.TextOut(72, 72, 'Second page');
  Printer.EndDoc;
finally
  Printer.Free;
end;

Anmerkungen

Konfigurationseigenschaften können während eines aktiven Dokuments nicht geändert werden, und eine falsche Lebenszyklusverwendung löst EPDFlibPrinter aus

Die Komponente besitzt ihre Bibliothek und Zeichenfläche, erstellt für jeden Auftrag ein unabhängiges Dokument, bewahrt ein abgeschlossenes Dokument für weitere API-Vorgänge auf und öffnet niemals einen Druckdialog oder greift auf den Betriebssystem-Spooler zu

Umschließen Sie einen Auftrag mit try/except und rufen Sie Abort nur auf, solange der Auftrag aktiv ist; fehlgeschlagene interne Konvertierungsvorgänge beenden den Auftrag und setzen Aborted

Siehe auch

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream