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
BeginDoc | Inicia um novo documento PDF e expõe a primeira página por Canvas |
|---|---|
NewPage | Confirma o canvas atual como uma página PDF e abre o canvas da próxima página |
EndDoc | Confirma a página final e grava FileName quando um destino foi atribuído |
Abort | Descarta o job ativo sem gravar o arquivo de destino dele e redefine o componente para um documento vazio |
SetPageSize | Define as dimensões de papel em retrato, em pontos PDF, antes de BeginDoc |
Propriedades
Canvas | O canvas VCL ativo entre BeginDoc e EndDoc ou Abort |
|---|---|
FileName | Caminho de saída PDF opcional; um valor vazio mantém o resultado apenas em LibraryInstance |
Title | Título do documento aplicado quando o job começa |
DPI | Resolução de coordenadas do canvas de 24 a 2400, com padrão 96 |
CanvasOptions | Modo de importação de canvas de -1 a 4, com padrão o modo vetorial 2 |
Orientation | poPortrait ou poLandscape; paisagem troca as dimensões de papel configuradas |
PaperWidth, PaperHeight | Dimensões de papel em retrato de 1 a 14400 pontos PDF |
PageWidth, PageHeight | Dimensões ativas somente leitura, em pixels de canvas, após a conversão de DPI e orientação |
PageWidthPoints, PageHeightPoints | Dimensões ativas somente leitura em pontos PDF |
PageNumber | Página atual com base 1 durante um job, e zero quando ocioso |
Printing, Aborted | Estado de ciclo de vida somente leitura |
LibraryInstance | A instância TPDFlib de posse do componente, para inspecionar ou processar ainda mais o PDF concluído |
LastErrorCode | O 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