|
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. |