【问题标题】:Page Layout of Sections with Novacode DocX使用 Novacode DocX 的部分页面布局
【发布时间】:2015-12-30 21:57:25
【问题描述】:

我正在使用 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.InsertSection(false) 之后的循环内添加doc.PageLayout.Orientation = Novacode.Orientation.Landscape,但我无法通过第一页转到横向。

有没有办法解决这个问题?

【问题讨论】:

  • 我没有看到解决方案。在您附加大于一页的段落之后,NovacodePageLayout.Orientation 似乎存在问题。您也许可以解决它,但我需要了解更多您想要完成的工作。
  • 我正在创建包含一系列部分的文档,每个部分都有一系列表格。每个表格都有一些标题和注释,但文档中没有任何其他纯文本。我希望表的每个“块”都位于单独的部分中的原因是因为我希望每个部分都有不同的标题。如果有一种方法可以在没有单独部分的情况下使用不同的标题,那也可以。谢谢!
  • 使用InsertParagraphyAfterSelf()InsertTableAfterSelf() 不会影响页面方向,当延伸超过一页时。听起来您要插入段落文本作为标题,然后是表格,最后是另一段解释?这种情况是否持续发生?我认为您可以在页面上的最后一个表格或段落之后使用InsertParagraphyAfterSelf()InsertTableAfterSelf() 而不是Append()。您需要知道最后插入的是什么。
  • 这可以很好地构建文档,但它不会插入分节符。我正在寻找分节符,因为我希望单独的部分具有不同的页眉。
  • 确实如此。在使用Novacode 后,我尝试使用Microsoft.Office.Interop.Word 更改方向。之后,文档上的每个页面都设置为横向,但它们不显示为横向(问题仍然存在)。我不知道你是否可以通过Novacode 解决这个问题。

标签: c# docx novacode-docx


【解决方案1】:

请参阅 Delford Chaffin 的回答:https://stackoverflow.com/a/33178151/316578

“将不同的部分创建为单独的文档并将它们插入到主文档中效果很好,解决了我的所有问题。”

【讨论】:

    猜你喜欢
    • 2017-06-22
    • 1970-01-01
    • 2016-07-07
    • 2017-10-18
    • 1970-01-01
    • 2016-08-17
    • 2017-08-06
    • 1970-01-01
    • 2018-02-23
    相关资源
    最近更新 更多