TPDFlibPrinter

Impresión, VCL, creación de documentos

Descripción

Proporciona una fachada de componente con el ciclo de vida conocido BeginDoc, Canvas, NewPage, EndDoc y Abort, pero crea un documento PDF en vez de enviar un trabajo a una impresora física

Declaración

Uses PDFlibPDFPrinter;

TPDFlibPrinter = Class(TComponent)

Parámetros

BeginDocInicia un nuevo documento PDF y expone la primera página mediante Canvas
NewPageConfirma el lienzo actual como una página PDF y abre el lienzo de la página siguiente
EndDocConfirma la página final y escribe FileName cuando se ha asignado un destino
AbortDescarta el trabajo activo sin escribir su archivo de destino y restablece el componente a un documento vacío
SetPageSizeEstablece las dimensiones de papel vertical en puntos PDF antes de BeginDoc

Properties

CanvasEl lienzo VCL activo entre BeginDoc y EndDoc o Abort
FileNameRuta de salida PDF opcional; un valor vacío conserva el resultado únicamente en LibraryInstance
TitleTítulo del documento aplicado al iniciarse el trabajo
DPIResolución de coordenadas del lienzo de 24 a 2400, con 96 como valor predeterminado
CanvasOptionsModo de importación de lienzo de -1 a 4; el valor predeterminado es el modo vectorial 2
OrientationpoPortrait o poLandscape; la orientación horizontal intercambia las dimensiones de papel configuradas
PaperWidth, PaperHeightDimensiones de papel vertical de 1 a 14400 puntos PDF
PageWidth, PageHeightDimensiones activas de solo lectura en píxeles del lienzo después de convertir el DPI y la orientación
PageWidthPoints, PageHeightPointsDimensiones activas de solo lectura en puntos PDF
PageNumberPágina actual con base uno durante un trabajo y cero durante la inactividad
Printing, AbortedEstado de ciclo de vida de solo lectura
LibraryInstanceLa instancia propia de TPDFlib para inspeccionar o seguir procesando el PDF completado
LastErrorCodeEl código de error subyacente de la biblioteca de la operación PDF más reciente

Ejemplo

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;

Observaciones

Las propiedades de configuración no pueden cambiar durante un documento activo y el uso indebido del ciclo de vida genera EPDFlibPrinter

El componente posee su biblioteca y lienzo, crea un documento por trabajo, conserva el completado y nunca abre diálogos ni accede a la cola del sistema

Use try/except alrededor del trabajo y llame a Abort solo mientras esté activo; los errores internos lo terminan y fijan Aborted

Véase también

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream