program Outlines;

{$APPTYPE CONSOLE}

uses

SysUtils,

Graphics,

Classes,

HPDFDoc;

 

var

I: Integer;

HPDF: THotPDF;

OutlineRoot: THPDFDocOutlineObject;

CurrnetOutline: THPDFDocOutlineObject;

 

begin

HPDF:= THotPDF.Create(nil);

try

HPDF.AutoLaunch := true;             // سيتم عرض ملف PDF تلقائيًا

HPDF.FileName := 'Outlines.pdf';

HPDF.BeginDoc( true );                   // إنشاء ملف PDF بمخططات تفصيلية

 

OutlineRoot := HPDF.OutlineRoot;      // الحصول على جذر المخططات التفصيلية

HPDF.CurrentPage.TextOut(0, 5, 0, '  Page 1 top');           // تمييز أعلى الصفحة الأولى

HPDF.CurrentPage.TextOut(0, 830, 0, '  Page 1 bottom');      // تمييز أسفل الصفحة الأولى

 

for I := 2 to 100 do

begin

CurrnetOutline := OutlineRoot.AddChild( 'Page ' + IntToStr(I - 1) );  // إضافة كتلة مخطط تفصيلي مرتبطة بـ 0،0 في الصفحة الحالية

CurrnetOutline.AddChild( 'Top ' );                                         //  إضافة مخطط تفصيلي مرتبط بـ 0،0 في الصفحة الحالية

CurrnetOutline.AddChild( 'Bottom ', 0, 800 );                             //  إضافة مخطط تفصيلي مرتبط بـ 0،800 في الصفحة الحالية

HPDF.AddPage;                                                   // إضافة الصفحة التالية

HPDF.CurrentPage.TextOut(0, 5,  0,'  Page ' + IntToStr(I) + ' top');   // تمييز أعلى الصفحة التالية

HPDF.CurrentPage.TextOut(0, 830,  0,'  Page ' + IntToStr(I) + ' bottom'); // تمييز أسفل الصفحة التالية

end;

 

CurrnetOutline := OutlineRoot.AddChild( 'Page 10 ' );             // إضافة الصفحة الأخيرة

CurrnetOutline.AddChild( 'Top ' );                          //  إضافة مخطط تفصيلي مرتبط بـ 0،0 في الصفحة الأخيرة

CurrnetOutline.AddChild( 'Bottom ', 0, 830 );                      //  إضافة مخطط تفصيلي مرتبط بـ 0،830 في الصفحة الأخيرة

HPDF.EndDoc;                                                   // إغلاق ملف PDF

finally

HPDF.Free;

end;

end.