public int TotalBookmarkLevels { get; set; }
A TotalBookmarkLevels determines the total number of bookmark levels for created PDF documents.
TotalBookmarkLevels represents the total numbers of bookmark levels for the PDF document being saved. The maximum number of levels is ten.
using Leadtools.Document.Writer;
using Leadtools.Ocr;
using Leadtools;
using Leadtools.Codecs;
public void PdfAutoBookmarksExample()
{
var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.docx");
var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "AutoBookmarks.pdf");
// Setup a new RasterCodecs object
var codecs = new RasterCodecs();
codecs.Options.RasterizeDocument.Load.Resolution = 300;
// Get the number of pages in the input document
var pageCount = codecs.GetTotalPages(inputFileName);
// Create a new instance of the LEADTOOLS Document Writer
var docWriter = new DocumentWriter();
// Change the PDF options to enable generating auto bookmarks
var pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions;
pdfOptions.AutoBookmarksEnabled = true;
pdfOptions.TotalBookmarkLevels = 2;
var firstLevel = new PdfAutoBookmark();
firstLevel.FontFaceName = "Arial";
firstLevel.FontHeight = 20;
pdfOptions.AutoBookmarks.Add(firstLevel);
var secondLevel = new PdfAutoBookmark();
secondLevel.FontFaceName = "Arial";
secondLevel.FontHeight = 12;
secondLevel.UseStyles = true; // font size is not enough for this level, so we'll use styles too
secondLevel.BoldStyle = true;
secondLevel.ItalicStyle = false;
pdfOptions.AutoBookmarks.Add(secondLevel);
docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions);
// Create a new PDF document
Debug.WriteLine("Creating new PDF document: {0}", outputFileName);
docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf);
// Loop through all the pages
for (var pageNumber = 1; pageNumber <= pageCount; pageNumber++)
{
// Get the page as SVG
Debug.WriteLine("Loading page {0}", pageNumber);
var page = new DocumentWriterSvgPage();
page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);
// Add the page
Debug.WriteLine("Adding page {0}", pageNumber);
docWriter.AddPage(page);
page.SvgDocument.Dispose();
}
// Finally finish writing the PDF file on disk
docWriter.EndDocument();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}