public IList<PdfAutoBookmark> AutoBookmarks { get; }
A list of PdfAutoBookmark that represent the auto-bookmarking settings used when creating PDF documents.
For more information, refer to PdfAutoBookmark.
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";
}