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-Datei wird automatisch angezeigt

   HPDF.FileName := 'Outlines.pdf';                                    

   HPDF.BeginDoc( true );                                                   // PDF-Datei mit Outlines erstellen

   OutlineRoot := HPDF.OutlineRoot;                                      // Outlines-Wurzel abrufen

   HPDF.CurrentPage.TextOut(0, 5, 0, '  Page 1 top');             // Erste Seite oben markieren

   HPDF.CurrentPage.TextOut(0, 830, 0, '  Page 1 bottom');      // Erste Seite unten markieren

   for I := 2 to 100 do

  begin

       CurrnetOutline := OutlineRoot.AddChild( 'Page ' + IntToStr(I - 1) );         // Zu 0,0 auf der aktuellen Seite verknüpftes Outline hinzufügen

       CurrnetOutline.Opened := true;                                                           // Dieses Outline ist geöffnet

       CurrnetOutline.AddChild( 'Top ' );                                                         // Zu 0,0 auf der aktuellen Seite verknüpftes Outline hinzufügen

       CurrnetOutline.AddChild( 'Bottom ', 0, 800 );                                        // Zu 0,800 auf der aktuellen Seite verknüpftes Outline hinzufügen

       HPDF.AddPage;                                                                                // Nächste Seite hinzufügen

       HPDF.CurrentPage.TextOut( 0, 5,  0,'  Page ' + IntToStr(I) + ' top' );         // Nächste Seite oben markieren

       HPDF.CurrentPage.TextOut( 0, 830,  0,'  Page ' + IntToStr(I) + ' bottom' ); // Nächste Seite unten markieren

  end;

   CurrnetOutline := OutlineRoot.AddChild( 'Page 10 ' );  // Letzte Seite hinzufügen

   CurrnetOutline.AddChild( 'Top ' );                                // Zu 0,0 auf der letzten Seite verknüpftes Outline hinzufügen

   CurrnetOutline.AddChild( 'Bottom ', 0, 830 );                // Zu 0,830 auf der letzten Seite verknüpftes Outline hinzufügen

   HPDF.EndDoc;                                                         // PDF-Datei schließen

finally

     HPDF.Free;

end;

end.