For HTML2PDF and XML2PDF solution check our PDFDoc Scout ActiveX library instead
How to add bookmarks (outlines) to PDF
document
This example teaches how to create outlines
(bookmarks) tree in PDF document generated by Bytescout.PDF
library

Download example source code: bytescoutpdf_outlines_bookmarks.zip
(5 KB)
using System;
using System.Collections.Generic;
using System.Text;
using Bytescout.PDF;
namespace Outlines
{
class Program
{
static void Main(string[] args)
{
PDFDocEngine engine =
new PDFDocEngine("", "");
// Add new document
Document document = engine.AddDocument();
// Add standard font
uint font = document.AddFontStandard(StandardFontType.Courier,
FontEncodingType.Standard);
// Append new pages to the document
Page page = document.AddPage(PageSizeType.A4, PageOrientationType.LandScape);
Page page2 = document.AddPage(PageSizeType.A4, PageOrientationType.LandScape);
// Create new drawing
Drawing drawing = page.AddDrawing();
// Set Active Font
drawing.SetActiveFont(font, 50, false, false);
// Draw Text
drawing.PlaceText(100, 100, 0, "Hello World!");
// Close drawing
drawing.Close();
// Create new drawing
drawing = page2.AddDrawing();
// Set Active Font
drawing.SetActiveFont(font, 50, false, false);
// Draw Text
drawing.PlaceText(100, 100, 0, "Hello again, World!");
// Close drawing
drawing.Close();
// Add root outline
Outline root = document.Outlines.AddChild();
root.Title = "Root";
// Add link to page 1
Outline child = root.AddChild();
child.Title = "Page 1";
child.destination = new Destination(document, "Page1",
false);
// Add link to page 2
child = root.AddChild();
child.Title = "Page 2";
child.destination = new Destination(document, "Page2",
false);
// Add NamedDestinations to document
document.AddNamedDestination("Page1", Destination.FitPage(0));
document.AddNamedDestination("Page2", Destination.FitPage(1));
// Save document
document.Save("HelloWorld.pdf");
}
}
}
Download example source code: bytescoutpdf_outlines_bookmarks.zip
(5 KB)
For HTML2PDF and XML2PDF solution check our PDFDoc Scout ActiveX library instead