Método THotPDF.BeginDoc

 

THotPDF.BeginDoc

THotPDF

 

Topo  Anterior  Próxima

Cria um novo documento

 

Sintaxe Delphi:

procedure BeginDoc ( Initial: boolean = false );

 

Sintaxe C++:

void __fastcall BeginDoc ( bool Initial = false );

 

Descrição

BeginDoc inicia um novo documento PDF e cria a primeira página. No uso normal, chame BeginDoc com o valor padrão do parâmetro e depois desenhe em CurrentPage

Uma instância de THotPDF pode gravar quantos documentos forem necessários, um após o outro. O EndDoc grava o arquivo e em seguida descarta tudo que foi registrado para ele: imagens, fontes, campos de formulário, outlines, JavaScript do documento, named destinations, page labels, perfis ICC, output intents e os demais recursos. As páginas e os objetos do documento gravado permanecem na memória, então verificações como ValidatePDFUA2Structure continuam funcionando depois do EndDoc, até o próximo BeginDoc liberá-los. O próximo documento, portanto, começa limpo, e nenhum conteúdo do arquivo anterior chega até ele

Propriedades como FileName, Version, Compression, PDFACompliance, Author e Title mantêm os valores para o próximo documento, junto com page layers, cadeias de fallback de fonte e seleções de eixos de fontes variáveis. Qualquer coisa registrada depois do EndDoc e antes do próximo BeginDoc, por exemplo um output intent adicionado com AddPDFAOutputIntent ou um script adicionado por Names, pertence ao próximo documento. CurrentPageNumber, PagesCount e os diagnósticos de layout do documento gravado também continuam legíveis até o próximo BeginDoc

O EndDoc limpa UserPassword e OwnerPassword. Quando ActivateProtection continua ativo, defina as senhas novamente antes do próximo BeginDoc; caso contrário, o BeginDoc dispara uma exceção em vez de gravar um documento protegido por senhas vazias. Quando uma feature de um documento elevou a versão do PDF automaticamente (por exemplo, para PDF 1.4 por causa de um output intent), o EndDoc a devolve ao valor da propriedade Version

 

Exemplo de código


HPDF := THotPDF.Create( nil );
try
  HPDF.FileName := '.\Output.pdf';
  HPDF.BeginDoc;   // Start PDF document creation
  HPDF.CurrentPage.TextOut( 100, 100, 0, 'Hello World!' );
  HPDF.EndDoc;     // Finish and save PDF document

  HPDF.FileName := '.\Second.pdf';
  HPDF.BeginDoc;   // Same instance, new independent document
  HPDF.CurrentPage.TextOut( 100, 100, 0, 'Second document' );
  HPDF.EndDoc;
finally
  HPDF.Free;
end;

 

See also: EndDoc