TPDFlibPrinter

Impressão, VCL, criação de documentos

Descrição

Fornece uma fachada de componente com o ciclo de vida familiar de BeginDoc, Canvas, NewPage, EndDoc e Abort, mas criando um documento PDF em vez de submeter um job de impressão físico

Declaração

Uses PDFlibPDFPrinter;

TPDFlibPrinter = Class(TComponent)

Parâmetros

BeginDocInicia um novo documento PDF e expõe a primeira página por Canvas
NewPageConfirma o canvas atual como uma página PDF e abre o canvas da próxima página
EndDocConfirma a página final e grava FileName quando um destino foi atribuído
AbortDescarta o job ativo sem gravar o arquivo de destino dele e redefine o componente para um documento vazio
SetPageSizeDefine as dimensões de papel em retrato, em pontos PDF, antes de BeginDoc

Propriedades

CanvasO canvas VCL ativo entre BeginDoc e EndDoc ou Abort
FileNameCaminho de saída PDF opcional; um valor vazio mantém o resultado apenas em LibraryInstance
TitleTítulo do documento aplicado quando o job começa
DPIResolução de coordenadas do canvas de 24 a 2400, com padrão 96
CanvasOptionsModo de importação de canvas de -1 a 4, com padrão o modo vetorial 2
OrientationpoPortrait ou poLandscape; paisagem troca as dimensões de papel configuradas
PaperWidth, PaperHeightDimensões de papel em retrato de 1 a 14400 pontos PDF
PageWidth, PageHeightDimensões ativas somente leitura, em pixels de canvas, após a conversão de DPI e orientação
PageWidthPoints, PageHeightPointsDimensões ativas somente leitura em pontos PDF
PageNumberPágina atual com base 1 durante um job, e zero quando ocioso
Printing, AbortedEstado de ciclo de vida somente leitura
LibraryInstanceA instância TPDFlib de posse do componente, para inspecionar ou processar ainda mais o PDF concluído
LastErrorCodeO código de erro subjacente da biblioteca, da operação de PDF mais recente

Exemplo

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;

Observações

Propriedades de configuração não podem mudar durante um documento ativo, e uso incorreto do ciclo de vida dispara EPDFlibPrinter

O componente é dono de sua biblioteca e canvas, cria um documento independente para cada job, preserva um documento concluído para outras operações da API e nunca abre um diálogo de impressão nem acessa o spooler do sistema operacional

Use try/except em volta de um job e chame Abort apenas enquanto o job seguir ativo; operações internas de conversão que falham terminam o job e definem Aborted

Veja também

GetCanvasDC, NewPageFromCanvasDC, RenderPagesToPrintStream