public bool UseStyles { get; set; }
true to allow checking for font styles such as bold or italic while creating the bookmark in the PDF document using the automatic bookmarking feature, otherwise; false The default value is false.
Autobookmarking (automatic bookmarking) creates bookmark items based on font information whenever UseStyles is true. This means that different font styles are considered to be different. For example, when UseStyles is true, Arial bold and Arial are handled as two different fonts.
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 objectvar codecs = new RasterCodecs();codecs.Options.RasterizeDocument.Load.Resolution = 300;// Get the number of pages in the input documentvar pageCount = codecs.GetTotalPages(inputFileName);// Create a new instance of the LEADTOOLS Document Writervar docWriter = new DocumentWriter();// Change the PDF options to enable generating auto bookmarksvar 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 toosecondLevel.BoldStyle = true;secondLevel.ItalicStyle = false;pdfOptions.AutoBookmarks.Add(secondLevel);docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions);// Create a new PDF documentDebug.WriteLine("Creating new PDF document: {0}", outputFileName);docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf);// Loop through all the pagesfor (var pageNumber = 1; pageNumber <= pageCount; pageNumber++){// Get the page as SVGDebug.WriteLine("Loading page {0}", pageNumber);var page = new DocumentWriterSvgPage();page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);// Add the pageDebug.WriteLine("Adding page {0}", pageNumber);docWriter.AddPage(page);page.SvgDocument.Dispose();}// Finally finish writing the PDF file on diskdocWriter.EndDocument();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}