ページ分割は、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
特定のテキストの後にページ分割を挿入する
以下は、特定のテキストの後にページ分割を挿入する手順です。
- 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
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。