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');          // 1ページ目の上部に目印を出力します

   HPDF.CurrentPage.TextOut(0, 830, 0, '  Page 1 bottom');      // 1ページ目の下部に目印を出力します

 

   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.