EVO HTML to PDF Converter

Select in API the HTML Elements to Bookmark

EVO HTML to PDF Converter for .NET Documentation

The converter can automatically produce bookmarks in the generated PDF document for a set of HTML elements selected by a given list of CSS selectors. The bookmarking is controlled by the HtmlToPdfConverterPdfBookmarkOptions property and is enabled only when a list of HTML selectors is set in PdfBookmarkOptionsHtmlElementSelectors property. For example, to enable bookmarking of the H1, H2 and H3 tags you can use the following code:

// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
// Select the HTML elements to bookmark by setting a list of CSS selectors
htmlToPdfConverter.PdfBookmarkOptions.HtmlElementSelectors = new string[] { "H1", "H2", "H3" };

The tags to be bookmarked can be further filtered by CSS class name using the HTML selectors syntax. For example, to filter only the H1 and H2 tags having the CSS class bookmark, the following code can be used:

// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
// Select the HTML elements to bookmark by setting a list of CSS selectors
htmlToPdfConverter.PdfBookmarkOptions.HtmlElementSelectors = new string[] { "H1[class=\"bookmark\"]", "H2[class=\"bookmark\"]" };
Code Sample - Select in API the HTML Elements to Bookmark

protected void convertToPdfButton_Click(object sender, EventArgs e)
{
    // Create a HTML to PDF converter object with default settings
    HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();

    // Set license key received after purchase to use the converter in licensed mode
    // Leave it not set to use the converter in demo mode
    htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";

    // Set an adddional delay in seconds to wait for JavaScript or AJAX calls after page load completed
    // Set this property to 0 if you don't need to wait for such asynchcronous operations to finish
    htmlToPdfConverter.ConversionDelay = 2;

    // Auto Create a hierarchy of bookmarks from H1 to H6 tags found in HTML
    if (autoBookmarksCheckBox.Checked)
    {
        // Enable the creation of a hierarchy of bookmarks from H1 to H6 tags
        htmlToPdfConverter.PdfBookmarkOptions.AutoBookmarksEnabled = true;

        // Display the bookmarks panel in PDF viewer when the generated PDF is opened
        htmlToPdfConverter.PdfViewerPreferences.PageMode = ViewerPageMode.UseOutlines;
    }

    // Convert the HTML page to a PDF document in a memory buffer
    byte[] outPdfBuffer = htmlToPdfConverter.ConvertUrl(urlTextBox.Text);

    // Send the PDF as response to browser

    // Set response content type
    Response.AddHeader("Content-Type", "application/pdf");

    // Instruct the browser to open the PDF file as an attachment or inline
    Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Auto_Create_Hierarchical_Bookmarks.pdf; size={0}", outPdfBuffer.Length.ToString()));

    // Write the PDF document buffer to HTTP response
    Response.BinaryWrite(outPdfBuffer);

    // End the HTTP response and stop the current page processing
    Response.End();
}