THotPDF.BeginDoc Method

 

THotPDF.BeginDoc

THotPDF

 

Överst  Föregående  Nästa

Creates new document.

 

Delphi syntax:

procedure BeginDoc ( Initial: boolean = false );

 

C++ syntax:

void __fastcall BeginDoc ( bool Initial = false );

 

Beskrivning

BeginDoc startar ett nytt PDF-dokument och skapar den första sidan. Vid normal användning anropar du BeginDoc med standardparametervärdet och ritar sedan på CurrentPage

En THotPDF-instans kan skriva valfritt många dokument, ett efter ett. EndDoc skriver filen och släpper sedan allt som registrerats för den: bilder, teckensnitt, formulärfält, bokmärken, dokumentets JavaScript, namngivna destinationer, sidetiketter, ICC-profiler, output intents och övriga resurser. Det skrivna dokumentets sidor och objekt stannar i minnet, så kontroller som ValidatePDFUA2Structure fungerar fortfarande efter EndDoc, tills nästa BeginDoc frigör dem. Nästa dokument börjar därför rent, och inget innehåll från den föregående filen når det

Egenskaper som FileName, Version, Compression, PDFACompliance, Author och Title behåller sina värden för nästa dokument, tillsammans med sidolager, fallback-kedjor för teckensnitt och axelval för variabla teckensnitt. Allt som registreras efter EndDoc och före nästa BeginDoc, till exempel en output intent som lagts till med AddPDFAOutputIntent eller ett skript som lagts till via Names, hör till nästa dokument. CurrentPageNumber, PagesCount och layoutdiagnostiken för det skrivna dokumentet förblir också läsbara till nästa BeginDoc

EndDoc rensar UserPassword och OwnerPassword. Är ActivateProtection fortfarande på sätter du lösenorden igen före nästa BeginDoc; annars kastar BeginDoc ett undantag i stället för att skriva ett dokument skyddat med tomma lösenord. När en funktion i ett dokument höjt PDF-versionen automatiskt (till exempel till PDF 1.4 för en output intent) återställer EndDoc den till värdet på egenskapen Version

 

Code Example


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;

 

Se även: EndDoc