THotPDF.BeginDoc Method

 

THotPDF.BeginDoc

THotPDF

 

الأعلى  السابق  التالي

ينشئ مستندًا جديدًا

 

Delphi syntax:

procedure BeginDoc ( Initial: boolean = false );

 

C++ syntax:

void __fastcall BeginDoc ( bool Initial = false );

 

الوصف

يبدأ BeginDoc مستند PDF جديدًا وينشئ الصفحة الأولى. في الاستخدام العادي، استدع BeginDoc بالقيمة الافتراضية للمعامل ثم ارسم على CurrentPage

يمكن لمثيل THotPDF واحد أن يكتب أي عدد من المستندات واحدًا تلو الآخر. يكتب EndDoc الملف ثم يسقط كل ما سُجّل له: الصور والخطوط وحقول النماذج والمخططات التفصيلية وجافاسكربت المستند والوجهات المسماة وتسميات الصفحات وملفات تعريف ICC وoutput intents وسائر الموارد. وتبقى صفحات المستند المكتوب وكائناته في الذاكرة، فيواصل فحص مثل ValidatePDFUA2Structure العمل بعد EndDoc حتى يحررها BeginDoc التالي. لذلك يبدأ المستند التالي نظيفًا ولا يصل إليه أي محتوى من الملف السابق

تحتفظ خصائص مثل FileName و Version و Compression و PDFACompliance و Author و Title بقيمها للمستند التالي، مع طبقات الصفحات وسلاسل الخطوط الاحتياطية واختيارات محاور الخطوط المتغيرة. وكل ما يُسجَّل بعد EndDoc وقبل BeginDoc التالي، كـ output intent يُضاف بـ AddPDFAOutputIntent أو سكربت يُضاف عبر Names، يعود للمستند التالي. كما تبقى CurrentPageNumber و PagesCount وأدوات تشخيص التخطيط للمستند المكتوب قابلة للقراءة حتى BeginDoc التالي

يمحو EndDoc كلمتي UserPassword و OwnerPassword. وإذا كان ActivateProtection ما زال مفعّلًا فاضبط كلمتي المرور من جديد قبل BeginDoc التالي؛ وإلا رفع BeginDoc استثناءً بدلًا من كتابة مستند محمي بكلمات مرور فارغة. وعندما رفع أحد المعالم إصدار PDF تلقائيًا لمستند ما (مثلًا إلى PDF 1.4 من أجل output intent)، يعيده EndDoc إلى قيمة الخاصية 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;

 

انظر أيضا: EndDoc