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

BeginDocStart een nieuw PDF-document en legt de eerste pagina bloot via Canvas
NewPageLegt het huidige canvas vast als PDF-pagina en opent het canvas van de volgende pagina
EndDocCommit de laatste pagina en schrijft FileName wanneer een bestemming is toegewezen
AbortGooit de actieve job weg zonder zijn doelbestand te schrijven en zet de component terug op een leeg document
SetPageSizeZet papierafmetingen in staand formaat in PDF-punten vóór BeginDoc

Eigenschappen

CanvasHet actieve VCL-canvas tussen BeginDoc en EndDoc of Abort
FileNameOptioneel PDF-uitvoerpad; een lege waarde houdt het resultaat alleen in LibraryInstance vast
TitleDocumenttitel die wordt toegepast wanneer de job begint
DPICanvas-coördinaatresolutie van 24 tot en met 2400, standaard 96
CanvasOptionsCanvas-importmodus van -1 tot en met 4, standaard vectormodus 2
OrientationpoPortrait of poLandscape; in de liggende stand worden de geconfigureerde papierafmetingen verwisseld
PaperWidth, PaperHeightPapierafmetingen in staand formaat van 1 tot en met 14400 PDF-punten
PageWidth, PageHeightAlleen-lezen actieve afmetingen in canvaspixels na DPI- en oriëntatieconversie
PageWidthPoints, PageHeightPointsActieve afmetingen in PDF-punten, alleen-lezen
PageNumberHuidige pagina tijdens een job, beginnend bij 1, en nul tijdens inactiviteit
Printing, AbortedAlleen-lezen levenscyclusstatus
LibraryInstanceDe eigendom TPDFlib-instantie voor het inspecteren of verder verwerken van de voltooide PDF
LastErrorCodeDe 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

Zie ook

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream