2016-02-23 1 views
1

Я создаю PDF-документ с использованием объектов Chapter и Section, поэтому я получаю закладки с затененной древовидной структурой, и это здорово, но я также хочу применить «продолжайте со следующего» в заголовки главы и раздела, чтобы первый абзац после заголовка не попал на отдельную страницу из заголовка.iText (Sharp) - Сохранение заголовка раздела с первой строкой текста вызывает неприятные закладки

Я делаю это, определяя каждый раздел с пунктом, что я повиснуть на:

void AddSection(Section parentSection, string newSectionTitle) 
{ 
    m_heading = new Paragraph(new Chunk(newSectionTitle)); 
    m_section = parentSection.AddSection(indentation, m_heading); 
} 

, а затем, когда я добавить первый кусок в этот раздел, я добавляю его в этой статье:

void AddTextToSection(string text) 
{ 
    if (m_heading != null) 
    { 
     m_heading.Add(new Chunk("\n")); 
     m_heading.Add(new Chunk(text)); 
     m_heading = null; 
    } 
    else 
    { 
     m_section.Add(new Chunk(text)); 
    } 
} 

Это отлично работает. ЗА ИСКЛЮЧЕНИЕМ, что закладка содержит заголовок ПЛЮС в первом абзаце.

Есть ли способ рассказать главе или разделу, что она должна отображать текст X в теле документа, но определять закладку с помощью текста Y?

ответ

0

Отключено Раздел имеет свойство с именем BookmarkTitle, которое, если установлено, указывает текст, который будет использоваться для заголовка закладки.

Итак, после создания раздела, но до того, как я начну добавлять к нему текст (через функцию AddTextToSection()), я извлекаю текст из m_section.Title.Chunks и устанавливаю его в m_section.BookmarkTitle.