2014-10-12 3 views
0

Я использую HTML в PDF конвертер из EVO создать 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

ответ

1

Существует два способа автоматического создания закладок в сгенерированном PDF-документе. Один из них - через API и является тем методом, который вы уже использовали, но который не создает иерархию закладок, как вам хотелось бы.

Другой способ установить следующую строку в коде:

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

Это позволит создать дерево закладок на основе заголовка тегов в HTML.

+0

Спасибо. Это решило проблему. –

Смежные вопросы