2014-10-12 80 views
0

我使用HTML从EVO PDF转换器来创建一个PDF文档,我用下面的代码来生成书签用于h标签:嵌套书签PDF

// 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

(检查API参考后)[AddBookmark](http://www.evopdf.com/api/html/M_EvoPdf_Document_AddBookmark_1.htm)是否这样做,用“h2”作为其最后的“h1”父母? – usr2564301 2014-10-12 11:35:22

回答

1

有两种方法可以在生成的PDF文档中自动创建书签。一种是通过API,并且是您已经使用的方法,但不会产生您想要的书签层次结构。

另一种方法是设置以下行代码:

// Enable the creation of a hierarchy of bookmarks from H1 to H6 tags 
htmlToPdfConverter.PdfBookmarkOptions.AutoBookmarksEnabled = true; 

这将使基于在HTML的标题标记书签的树的创建。

+0

谢谢。这解决了这个问题。 – 2014-10-13 11:54:33