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.Opened := true;                                        // هذا المخطط التفصيلي مفتوح

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.