チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.Doc for .NET»ページ設定»C#/VB.NET:Word 文書にページ分割を挿入する方法
2022-06-27

C#/VB.NET:Word 文書にページ分割を挿入する方法

ページ分割は、1つのページが終了する場所と新しいページが開始する場所を制御するマーカーです。特定の場所の後のコンテンツを Word 文書の次のページに移動する場合は、ページ分割を挿入できます。この記事では、Spire.Doc for .NET ライブラリーを使用してC#および VB.NET の Word 文書にページ分割を挿入する方法を紹介します。

Spire.Doc for .NET をインストールします

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

特定の段落の後にページ分割を挿入する

以下は、特定の段落の後にページ分割を挿入する手順です。

  • Document インスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.Sections[sectionIndex] プロパティを使用して目的のセクションを取得します。
  • Section.Paragraphs[paragraphIndex] プロパティを使用して目的の段落を取得します。
  • Paragraph.AppendBreak(BreakType.PageBreak) メソッドを使用して、段落にページ分割を追加します。
  • Document.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
  • C#
  • VB.NET
using Spire.Doc;
using Spire.Doc.Documents;

namespace InsertPageBreakAfterParagraph
{
    class Program
    {
        static void Main(string[] args)
        {
            //ドキュメントインスタンスを作成する
            Document document = new Document();
            //Word文書をロードする
            document.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");

            //最初のセクションを取得する
            Section section = document.Sections[0];
            //セクションの2番目の段落を取得する
            Paragraph paragraph = section.Paragraphs[1];

            //段落にページ分割を追加する
            paragraph.AppendBreak(BreakType.PageBreak);

            //結果ドキュメントを保存する
            document.SaveToFile("InsertPageBreak.docx", FileFormat.Docx2013);
        }
    }
}
Imports Spire.Doc
Imports Spire.Doc.Documents
 
Namespace InsertPageBreakAfterParagraph
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'ドキュメントインスタンスを作成する
            Dim document As Document =  New Document() 
            'Word文書をロードする
            document.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx")
 
            '最初のセクションを取得する
            Dim section As Section =  document.Sections(0) 
            'セクションの2番目の段落を取得する
            Dim paragraph As Paragraph =  section.Paragraphs(1) 
 
            '段落にページ分割を追加する
            paragraph.AppendBreak(BreakType.PageBreak)
 
            '結果ドキュメントを保存する
            document.SaveToFile("InsertPageBreak.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace

C#/VB.NET:Word 文書にページ分割を挿入する方法

特定のテキストの後にページ分割を挿入する

以下は、特定のテキストの後にページ分割を挿入する手順です。

  • Document インスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.FindString() メソッドを使用して特定のテキストを検索します。
  • TextSelection.GetAsOneRange() メソッドを使用して、検索されたテキストのテキスト範囲にアクセスします。
  • ParagraphBase.OwnerParagraph プロパティを使用して、テキスト範囲が配置されている段落を取得します。
  • Paragraph.ChildObjects.IndexOf() メソッドを使用して、段落内のテキスト範囲の位置インデックスを取得します。
  • Break クラスのインスタンスを初期化して、ページ分割を作成します。
  • Paragraph.ChildObjects.Insert() メソッドを使用して、検索されたテキストの後にページ分割を挿入します。
  • Document.SaveToFile() メソッドを使用して結果ドキュメントを保存します。
  • C#
  • VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace InsertPageBreakAfterText
{
    class Program
    {
        static void Main(string[] args)
        {
            //ドキュメントインスタンスを作成する
            Document document = new Document();

            //Word文書をロードする
            document.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");

            //特定のテキストを検索する
            TextSelection selection = document.FindString("ありません", true, true);
            //検索されたテキストのテキスト範囲を取得する
            TextRange range = selection.GetAsOneRange();
            //テキスト範囲が配置されている段落を取得する
            Paragraph paragraph = range.OwnerParagraph;
            //段落内のテキスト範囲の位置インデックスを取得する
            int index = paragraph.ChildObjects.IndexOf(range);

            //ページ分割を作成する
            Break pageBreak = new Break(document, BreakType.PageBreak);
            //検索したテキストの後にページ分割を挿入する
            paragraph.ChildObjects.Insert(index + 1, pageBreak);

            //結果ドキュメントを保存する
            document.SaveToFile("InsertPageBreakAfterText.docx", FileFormat.Docx2013);
        }
    }
}
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
 
Namespace InsertPageBreakAfterText
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'ドキュメントインスタンスを作成する
            Dim document As Document =  New Document() 
 
            'Word文書をロードする
            document.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx")
 
            '特定のテキストを検索する
            Dim selection As TextSelection =  document.FindString("ありません",True,True) 
            '検索されたテキストのテキスト範囲を取得する
            Dim range As TextRange =  selection.GetAsOneRange() 
            'テキスト範囲が配置されている段落を取得する
            Dim paragraph As Paragraph =  range.OwnerParagraph 
            '段落内のテキスト範囲の位置インデックスを取得する
            Dim index As Integer =  paragraph.ChildObjects.IndexOf(range) 
 
            'ページ分割を作成する
            Dim pageBreak As Break =  New Break(document,BreakType.PageBreak) 
            '検索したテキストの後にページ分割を挿入する
            paragraph.ChildObjects.Insert(index + 1, pageBreak)
 
            '結果ドキュメントを保存する
            document.SaveToFile("InsertPageBreakAfterText.docx", FileFormat.Docx2013)
        End Sub
    End Class
End Namespace

C#/VB.NET:Word 文書にページ分割を挿入する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 749 times