在OpenXML文档中的每页顶部插入图片

时间:2013-02-14 17:19:24

标签: c# .net openxml openxml-sdk

我正在使用C#for Word创建OpenXML文档,我发现始终无法确定分页符在文档中的显示位置。这会产生以下问题:

我想在每个页面的顶部插入一个小图片,它会略微概述页面的元素。

为此,是否可以使用以下条件:

if(page break reached == true)然后在下一页上插入一个小图片”?

我可以在每个段落后使用这个条件,所以我不必知道分页符出现在哪里。任何其他解决方案也会有所帮助。

2 个答案:

答案 0 :(得分:0)

Word文档未以文件格式分页。确定哪个对象在哪个页面上的唯一方法是使用渲染引擎。 Aspose.Words就是一个例子,但并不便宜。

另一种选择是添加标题并将图像放在那里或使用水印

答案 1 :(得分:0)

您可以通过手动插入分页符来解决您的问题,只要您想在xml中插入图片,分页符,

 <w:r>
      <w:br w:type="page" />
 </w:r>

您还需要在下一页的内容之前添加lastRenderedPageBreak元素,

  <w:r>
    <w:lastRenderedPageBreak />
    <w:t>your content on page 2</w:t>
  </w:r>

同样的事情可以在代码中实现:

    Run run1 = new Run();
    Break break1 = new Break(){ Type = BreakValues.Page }; //Breaks page
    run1.Append(break1); //append your run to paragraph on page 1
第2页

    Run run2 = new Run();
    LastRenderedPageBreak lastRenderedPageBreak1 = new LastRenderedPageBreak();
    //add your image here in openxml code
    run2.Append(lastRenderedPageBreak1);