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