web-dev-qa-db-ja.com

OpenXmlを使用して改ページを作成する

OpenXmlを使用して、単純なテキストとこのテキストの下にいくつかのテーブルを含むWord文書を作成します。このテキストを含む段落を強制的に新しいページに常に表示するにはどうすればよいですか?たぶんこの段落はヘッダーになるはずですが、どうすればいいのかわかりません。

ありがとう

31
arek

<w:br>要素を使用して、Run要素内に改ページを作成できます。未加工のOpenXMLでは、次のようになります。

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

OpenXml SDKを使用している場合は、

new Paragraph(
  new Run(
    new Break(){ Type = BreakValues.Page }));

編集:

段落がページの最後であることを指定するだけの場合は、<w:lastRenderedPageBreak />タグを試すことができます。

new Paragraph(
   new Run(
      new LastRenderedPageBreak(),
      new Text("Last text on the page")));
43
Adam Sheehan

PageBreakBeforeプロパティはこれを実現します。 Wordが自動的に挿入しない場合、段落の前に改ページを挿入します。

if (myParagraph.ParagraphProperties== null) 
{ 
    myParagraph.ParagraphProperties = new ParagraphProperties();
}

myParagraph.ParagraphProperties.PageBreakBefore = new PageBreakBefore();

Open XMLでは次のように見えると思います。

  <w:p>
    <w:pPr>
      ...
      <w:pageBreakBefore/>   
      ...
    </w:pPr>
    ...    
  </w:p>
10
Collin K