TPDFlibPrinter
Afdrukken, VCL, aanmaken van documenten
Beschrijving
Biedt een componentfacade met de vertrouwde levenscyclus BeginDoc, Canvas, NewPage, EndDoc en Abort, terwijl een PDF-document wordt aangemaakt in plaats van een fysieke printerjob te submitteren
Declaratie
Uses PDFlibPDFPrinter;
TPDFlibPrinter = Class(TComponent)Parameters
BeginDoc | Start een nieuw PDF-document en legt de eerste pagina bloot via Canvas |
|---|---|
NewPage | Legt het huidige canvas vast als PDF-pagina en opent het canvas van de volgende pagina |
EndDoc | Commit de laatste pagina en schrijft FileName wanneer een bestemming is toegewezen |
Abort | Gooit de actieve job weg zonder zijn doelbestand te schrijven en zet de component terug op een leeg document |
SetPageSize | Zet papierafmetingen in staand formaat in PDF-punten vóór BeginDoc |
Eigenschappen
Canvas | Het actieve VCL-canvas tussen BeginDoc en EndDoc of Abort |
|---|---|
FileName | Optioneel PDF-uitvoerpad; een lege waarde houdt het resultaat alleen in LibraryInstance vast |
Title | Documenttitel die wordt toegepast wanneer de job begint |
DPI | Canvas-coördinaatresolutie van 24 tot en met 2400, standaard 96 |
CanvasOptions | Canvas-importmodus van -1 tot en met 4, standaard vectormodus 2 |
Orientation | poPortrait of poLandscape; in de liggende stand worden de geconfigureerde papierafmetingen verwisseld |
PaperWidth, PaperHeight | Papierafmetingen in staand formaat van 1 tot en met 14400 PDF-punten |
PageWidth, PageHeight | Alleen-lezen actieve afmetingen in canvaspixels na DPI- en oriëntatieconversie |
PageWidthPoints, PageHeightPoints | Actieve afmetingen in PDF-punten, alleen-lezen |
PageNumber | Huidige pagina tijdens een job, beginnend bij 1, en nul tijdens inactiviteit |
Printing, Aborted | Alleen-lezen levenscyclusstatus |
LibraryInstance | De eigendom TPDFlib-instantie voor het inspecteren of verder verwerken van de voltooide PDF |
LastErrorCode | De onderliggende libraryfoutcode van de meest recente PDF-bewerking |
Voorbeeld
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;Opmerkingen
Configuratie-eigenschappen kunnen niet veranderen tijdens een actief document en misbruik van de levenscyclus werpt EPDFlibPrinter
De component is eigenaar van haar bibliotheek en canvas, maakt voor elke job een onafhankelijk document aan, behoudt een voltooid document voor verdere API-bewerkingen en opent nooit een afdrukvenster of benadert de spooler van het besturingssysteem niet
Gebruik try/except rond een job en roep Abort alleen aan zolang de job actief blijft; mislukte interne conversiebewerkingen beëindigen de job en zetten Aborted