TPDFlibPrinter

Impression, VCL, création de documents

Description

Fournit une façade de composant avec le cycle de vie habituel BeginDoc, Canvas, NewPage, EndDoc et Abort, tout en créant un document PDF au lieu de soumettre une tâche à une imprimante physique

Déclaration

Uses PDFlibPDFPrinter;

TPDFlibPrinter = Class(TComponent)

Paramètres

BeginDocDémarre un nouveau document PDF et expose la première page au moyen de Canvas
NewPageValide le canevas actuel comme page PDF et ouvre le canevas de page suivant
EndDocValide la dernière page et écrit FileName lorsqu'une destination a été affectée
AbortAbandonne le travail actif sans écrire son fichier de destination et réinitialise le composant avec un document vide
SetPageSizeDéfinit les dimensions du papier en portrait en points PDF avant BeginDoc

Properties

CanvasLe canevas VCL actif entre BeginDoc et EndDoc ou Abort
FileNameChemin de sortie PDF facultatif ; une valeur vide conserve le résultat uniquement dans LibraryInstance
TitleTitre du document appliqué au démarrage de la tâche
DPIRésolution des coordonnées du canevas comprise entre 24 et 2400, avec 96 par défaut
CanvasOptionsMode d’importation du canevas compris entre -1 et 4, avec le mode vectoriel 2 par défaut
OrientationpoPortrait ou poLandscape ; le mode paysage permute les dimensions de papier configurées
PaperWidth, PaperHeightDimensions du papier en portrait comprises entre 1 et 14400 points PDF
PageWidth, PageHeightDimensions actives en lecture seule exprimées en pixels de canevas après conversion de la résolution et de l'orientation
PageWidthPoints, PageHeightPointsDimensions actives en lecture seule, en points PDF
PageNumberPage actuelle basée sur 1 pendant une tâche et zéro au repos
Printing, AbortedÉtat de cycle de vie en lecture seule
LibraryInstanceL'instance TPDFlib détenue pour examiner ou poursuivre le traitement du PDF terminé
LastErrorCodeCode d’erreur de bibliothèque sous-jacent de l’opération PDF la plus récente

Exemple

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;

Remarques

Les propriétés de configuration ne peuvent pas changer pendant qu'un document est actif, et tout emploi incorrect du cycle de vie lève EPDFlibPrinter

Le composant possède sa bibliothèque et son canevas, crée un document indépendant pour chaque tâche, conserve un document terminé pour les opérations d’API ultérieures et n’ouvre jamais de boîte de dialogue d’impression ni n’accède au spouleur du système d’exploitation

Utilisez try/except autour d'un travail et appelez Abort seulement tant qu'il reste actif ; les conversions internes échouées terminent le travail et définissent Aborted

Voir aussi

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream