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
BeginDoc | Startet 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 |
Abort | Verwirft den aktiven Auftrag, ohne dessen Zieldatei zu schreiben, und setzt die Komponente auf ein leeres Dokument zurück |
SetPageSize | Legt vor BeginDoc die Papierabmessungen im Hochformat in PDF-Punkten fest |
Properties
Canvas | Die aktive VCL-Zeichenfläche zwischen BeginDoc und EndDoc oder Abort |
|---|---|
FileName | Optionaler PDF-Ausgabepfad; ein leerer Wert behält das Ergebnis nur in LibraryInstance |
Title | Dokumenttitel, der beim Start des Auftrags angewendet wird |
DPI | Koordinatenauflösung der Zeichenfläche von 24 bis 2400, standardmäßig 96 |
CanvasOptions | Canvas-Importmodus von -1 bis 4, standardmäßig Vektormodus 2 |
Orientation | poPortrait oder poLandscape; Querformat vertauscht die konfigurierten Papierabmessungen |
PaperWidth, PaperHeight | Papierabmessungen im Hochformat von 1 bis 14400 PDF-Punkten |
PageWidth, PageHeight | Schreibgeschützte aktive Abmessungen in Zeichenflächenpixeln nach DPI- und Ausrichtungskonvertierung |
PageWidthPoints, PageHeightPoints | Schreibgeschützte aktive Abmessungen in PDF-Punkten |
PageNumber | Einsbasierte aktuelle Seite während eines Auftrags und null im Leerlauf |
Printing, Aborted | Schreibgeschützter Lebenszykluszustand |
LibraryInstance | Die eigene TPDFlib-Instanz zur Prüfung oder weiteren Verarbeitung der fertiggestellten PDF-Datei |
LastErrorCode | Der 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