我使用EVO中的HTML到PDF转换器来创建PDF文档,我使用以下代码为H标签生成书签:
// 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" };
// 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);
书签出现在查看器中,但它们都处于同一级别。我想将它们组织在树中,在第一级使用H1标签,在第二级使用H2标签,依此类推。我找到了另一种可以按照我想要的方式组织书签的软件,但我想避免使用其他工具。我想直接在树中生成书签。
答案 0 :(得分:1)
有两种方法可以在生成的PDF文档中自动创建书签。一种是通过API,并且是您已经使用过的方法,但它不会产生您想要的书签层次结构。
另一种方法是在代码中设置以下行:
// Enable the creation of a hierarchy of bookmarks from H1 to H6 tags
htmlToPdfConverter.PdfBookmarkOptions.AutoBookmarksEnabled = true;
这样可以根据HTML中的标题标记创建书签树。