Click or drag to resize

Bookmarks

The PDF Creator offers an API for adding bookmarks to a PDF document. Using the AddBookmark methods of the Document class you can add root or child bookmarks.

Code Sample

The code sample below is extracted from the BookmarksDemo sample application:

protected void btnCreatePDF_Click(object sender, EventArgs e)
    {
        // create a PDF document
        Document document = new Document();

        // add a page to the PDF document
        PdfPage firstPage = document.AddPage();

        //add a root bookmark to the first page
        Bookmark firstPageBookmark = document.AddBookmark("First Page", new ExplicitDestination(firstPage));

        string imagesPath = System.IO.Path.Combine(Server.MapPath("~"), "Images");

        // display image in the available space in page and with a auto determined height to keep the aspect ratio
        ImageElement imageElement1 = new ImageElement(0, 0, System.IO.Path.Combine(imagesPath, "html-to-pdf-box-250.PNG"));
        AddElementResult addResult = firstPage.AddElement(imageElement1);

        // add a child bookmark to this image
        document.AddBookmark("HTML to PDF Converter", new ExplicitDestination(firstPage, new System.Drawing.PointF(0,0)), firstPageBookmark);

        // display image in the available space in page and with a auto determined height to keep the aspect ratio
        ImageElement imageElement2 = new ImageElement(0, 200, System.IO.Path.Combine(imagesPath, "rtftopdf-converter-250.jpg"));
        addResult = firstPage.AddElement(imageElement2);

        // add a child bookmark to this image
        document.AddBookmark("RTF to PDF Converter", new ExplicitDestination(firstPage, new System.Drawing.PointF(0, 200)), firstPageBookmark);

        //add a new page to document
        PdfPage secondPage = document.AddPage();

        //add a root bookmark to the second page and set a 200% zoom when visiting this bookmark
        ExplicitDestination secondPageDestination = new ExplicitDestination(secondPage);
        secondPageDestination.ZoomPercentage = 150;
        Bookmark secondPageBookmark = document.AddBookmark("Second Page", secondPageDestination);

        // display image in the available space in page and with a auto determined height to keep the aspect ratio
        ImageElement imageElement3 = new ImageElement(0, 0, System.IO.Path.Combine(imagesPath, "pdf-toolkit-pro-250.jpg"));
        addResult = secondPage.AddElement(imageElement3);

        // save the document on http response stream
        document.Save(Response, false, "BookmarksDemo.pdf");
    }