TPDFlibPrinter

Impresión, VCL, creación de documentos

Descripción

Proporciona una fachada de componente con el ciclo de vida conocido de BeginDoc, Canvas, NewPage, EndDoc y Abort, mientras crea un documento PDF en lugar 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 asignó 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 solo en LibraryInstance
TitleTítulo del documento aplicado cuando comienza el trabajo
DPIResolución de coordenadas del lienzo de 24 a 2400, con valor predeterminado de 96
CanvasOptionsModo de importación de lienzo de -1 a 4, con valor predeterminado de modo vectorial 2
OrientationpoPortrait o poLandscape; el modo horizontal intercambia las dimensiones configuradas del papel
PaperWidth, PaperHeightDimensiones de papel vertical de 1 a 14400 puntos PDF
PageWidth, PageHeightDimensiones activas de solo lectura en píxeles de lienzo después de la conversión de DPI y orientación
PageWidthPoints, PageHeightPointsDimensiones activas de solo lectura en puntos PDF
PageNumberPágina actual basada en uno durante un trabajo y cero mientras está inactivo
Printing, AbortedEstado de ciclo de vida de solo lectura
LibraryInstanceLa instancia TPDFlib propiedad del objeto para inspeccionar o procesar adicionalmente el PDF completado
LastErrorCodeEl código de error de la biblioteca subyacente 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 incorrecto del ciclo de vida genera EPDFlibPrinter

El componente posee su biblioteca y lienzo, crea un documento independiente para cada trabajo, conserva un documento terminado para operaciones posteriores de API y nunca abre un cuadro de diálogo de impresión ni accede al spooler del sistema operativo

Use try/except alrededor de un trabajo y llame a Abort solo mientras el trabajo siga activo; las operaciones de conversión interna que fallen terminan el trabajo y establecen Aborted

Véase también

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream