Макет страницы разделов с Novacode DocX

Я создаю документ, используя Novacode DocX. Я хотел бы, чтобы весь документ был в альбомной ориентации, однако я также хотел бы, чтобы в документе было несколько разрывов разделов. Мой код выложен следующим образом:

DocX doc = DocX.Create(fileName);
doc.PageLayout.Orientation = Novacode.Orientation.Landscape;
foreach (string page in pages)
{
    doc.InsertSection(false);
    Paragraph p = doc.InsertParagraph();
    p.Append(page);
}

doc.PageLayout.Orientation = Novacode.Orientation.Landscape;

doc.SaveAs(Path.Combine(folderPath, fileName));

Я также пытался добавить doc.PageLayout.Orientation = Novacode.Orientation.Landscape внутри цикла после doc.InsertSection(false), и я не могу ничего сделать после первой страницы, чтобы перейти в альбомную ориентацию.

Есть ли способ обойти это?


person yammerade    schedule 02.10.2015    source источник
comment
Я не вижу решения. Похоже, возникла проблема с Novacode PageLayout.Orientation после добавления абзацев размером больше страницы. Возможно, вы сможете обойти это, но мне нужно знать больше о том, чего вы пытаетесь достичь.   -  person Phillip    schedule 08.10.2015
comment
Я создаю документы с серией разделов, и в каждом разделе есть ряд таблиц. Каждая из таблиц имела заголовок и примечания вокруг нее, но в документе нет другого простого текста. Причина, по которой я хочу, чтобы каждый фрагмент таблицы находился в отдельном разделе, заключается в том, что мне нужны разные заголовки для каждого раздела. Если есть способ иметь разные заголовки без отдельного раздела, это тоже сработает. Благодарю вас!   -  person yammerade    schedule 08.10.2015
comment
Использование InsertParagraphyAfterSelf() и InsertTableAfterSelf() не влияет на ориентацию страницы при расширении за пределы одной страницы. Похоже, вы вставляете текст абзаца в качестве заголовка, затем таблицу и, наконец, еще один абзац объяснения? Это происходит постоянно? Я думаю, вы сможете использовать InsertParagraphyAfterSelf() и InsertTableAfterSelf() после последней таблицы или абзаца на странице вместо Append(). Вам нужно будет знать, что было вставлено последним.   -  person Phillip    schedule 08.10.2015
comment
Это прекрасно работает для создания документа, но не вставляет разрывы разделов. Я ищу разрывы разделов, потому что хочу, чтобы отдельные разделы имели разные заголовки страниц.   -  person yammerade    schedule 09.10.2015
comment
Это правда. Я пытался использовать Microsoft.Office.Interop.Word для изменения ориентации после использования Novacode. После этого каждая из страниц в документе настроена на альбомную ориентацию, но они не отображаются как альбомные (проблема все еще существует). Я не знаю, сможете ли вы обойти это с помощью Novacode.   -  person Phillip    schedule 09.10.2015
comment
Не повезло :-( Спасибо за помощь!   -  person yammerade    schedule 09.10.2015
comment
@LisaMcCusker ... Вы когда-нибудь добивались этого? У меня масса проблем с разделами, верхними/нижними колонтитулами и ориентацией.   -  person Delford Chaffin    schedule 16.10.2015
comment
Неа. Я просто отказался от идеи разделов. Извини! Удачи!   -  person yammerade    schedule 17.10.2015


Ответы (1)


См. этот ответ от Делфорда Чаффина: https://stackoverflow.com/a/33178151/316578

«Создание разных разделов в виде отдельных документов и вставка их в основной документ сработало хорошо и решило все мои проблемы».

person Anthony Hayward    schedule 29.08.2018