チュートリアル

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

チュートリアル».NET»Spire.Doc for .NET»文書操作»C#:Word 文書にページを追加、挿入、削除する方法
2024-07-11

C#:Word 文書にページを追加、挿入、削除する方法

Word ドキュメントにページを追加、挿入、削除することは、コンテンツの管理と提示にとって重要です。Word に新しいページを追加または挿入することで、ドキュメントを拡張してより多くのコンテンツを収容し、より構造化され読みやすくすることができます。ページを削除することで、不必要な情報や誤ったコンテンツを取り除いてドキュメントを整理するのに役立ちます。この記事では、Spire.Doc for .NET を使用して C# プロジェクト内で Word ドキュメントにページを追加、挿入、または削除する方法を説明します。

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

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

PM> Install-Package Spire.Doc

C# を使用して Word ドキュメントにページを追加する

Word ドキュメントの末尾に新しいページを追加する手順は、まず最後のセクションを取得し、そのセクションの最後の段落の末尾に改ページを挿入して、後で追加されるコンテンツが新しいページに表示されるようにすることです。以下は詳細な手順です:

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • Document.LastSection.Body を使用してドキュメントの最後のセクションの本文を取得する。
  • Paragraph.AppendBreak(BreakType.PageBreak) メソッドを呼び出して改ページを追加する。
  • 新しい ParagraphStyle オブジェクトを作成する。
  • Document.Styles.Add() メソッドを使用して新しい段落スタイルをドキュメントのスタイルコレクションに追加する。
  • 新しい Paragraph オブジェクトを作成し、テキストコンテンツを設定する。
  • Paragraph.ApplyStyle(ParagraphStyle.Name) メソッドを使用して、以前に作成した段落スタイルを新しい段落に適用する。
  • Body.ChildObjects.Add(Paragraph) メソッドを使用して新しい段落をドキュメントに追加する。
  • Document.SaveToFile() メソッドを使用して結果のドキュメントを保存する。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Pages;

namespace AddPageWord
{
    class Program
    {
        static void Main(string[] args)
        {
            // 新しいドキュメントオブジェクトを作成する
            Document document = new Document();

            // ドキュメントをロードする
            document.LoadFromFile("Sample.docx");

            // ドキュメントの最後のセクションの本文を取得する
            Body body = document.LastSection.Body;

            // 本文の最後の段落の後に改ページを挿入する
            body.LastParagraph.AppendBreak(BreakType.PageBreak);

            // 新しい段落スタイルを作成する
            ParagraphStyle paragraphStyle = new ParagraphStyle(document);
            paragraphStyle.Name = "CustomParagraphStyle1";
            paragraphStyle.ParagraphFormat.LineSpacing = 12;
            paragraphStyle.ParagraphFormat.AfterSpacing = 8;
            paragraphStyle.CharacterFormat.FontName = "Yu Mincho";
            paragraphStyle.CharacterFormat.FontSize = 12;

            // ドキュメントのスタイルコレクションに段落スタイルを追加する
            document.Styles.Add(paragraphStyle);

            // 新しい段落を作成し、テキスト内容を設定する
            Paragraph paragraph = new Paragraph(document);
            paragraph.AppendText("弊社の Spire.Doc for .NET 製品をご利用いただきありがとうございます。試用版では生成されるドキュメントに赤い透かしが追加され、最初の10ページのみ他の形式に変換可能です。ライセンスを購入して適用すると、これらの透かしが削除され、機能制限が解除されます。");

            // 段落スタイルを適用する
            paragraph.ApplyStyle(paragraphStyle.Name);

            // 段落を本文のコンテンツコレクションに追加する
            body.ChildObjects.Add(paragraph);

            // もう一つの新しい段落を作成し、テキスト内容を設定する
            paragraph = new Paragraph(document);
            paragraph.AppendText("製品をより完全に体験していただくために、お客様には1ヶ月の無料仮ライセンスを提供しています。sales @e-iceblue.com にメールを送っていただければ、1営業日以内にライセンスをお送りします。");

            // 段落スタイルを適用する
            paragraph.ApplyStyle(paragraphStyle.Name);

            // 段落を本文のコンテンツコレクションに追加する
            body.ChildObjects.Add(paragraph);

            // 指定されたパスにドキュメントを保存する
            document.SaveToFile("Wordにページを追加.docx", FileFormat.Docx);

            // ドキュメントを閉じる
            document.Close();

            // ドキュメントオブジェクトのリソースを解放する
            document.Dispose();
        }
    }
}

C#:Word 文書にページを追加、挿入、削除する方法

C# を使用して Word ドキュメントにページを挿入する

新しいページを挿入する前に、セクション内の指定されたページコンテンツの終了位置インデックスを特定する必要があります。その後、この位置の後に新しいページのコンテンツを一つずつドキュメントに追加します。最後に、コンテンツを後続のページから分離するために改ページを追加することが重要です。詳細な手順は以下の通りです:

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • FixedLayoutDocument オブジェクトを作成する。
  • ドキュメント内のページの FixedLayoutPage オブジェクトを取得する。
  • セクション内のページの最後の段落のインデックス位置を特定する。
  • 新しい ParagraphStyle オブジェクトを作成する。
  • Document.Styles.Add() メソッドを使用して新しい段落スタイルをドキュメントのスタイルコレクションに追加する。
  • 新しい Paragraph オブジェクトを作成し、テキストコンテンツを設定する。
  • Paragraph.ApplyStyle(ParagraphStyle.Name) メソッドを使用して、以前に作成した段落スタイルを新しい段落に適用する。
  • Body.ChildObjects.Insert(index, Paragraph) メソッドを使用して指定された位置に新しい段落を挿入する。
  • もう一つの新しい段落オブジェクトを作成し、そのテキストコンテンツを設定し、Paragraph.AppendBreak(BreakType.PageBreak) メソッドを呼び出して改ページを追加し、以前に作成した段落スタイルを適用し、次にこの段落をドキュメントに挿入する。
  • Document.SaveToFile() メソッドを使用して結果のドキュメントを保存する。
  • C#
using Spire.Doc;
using Spire.Doc.Pages;
using Spire.Doc.Documents;

namespace InsertPageWord
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 新しいドキュメントオブジェクトを作成する
            Document document = new Document();

            // サンプルドキュメントをファイルからロードする
            document.LoadFromFile("Sample.docx");

            // 固定レイアウトドキュメントオブジェクトを作成する
            FixedLayoutDocument layoutDoc = new FixedLayoutDocument(document);

            // 最初のページを取得する
            FixedLayoutPage page = layoutDoc.Pages[0];

            // ドキュメントの本文を取得する
            Body body = page.Section.Body;

            // 現在のページの最後の段落を取得する
            Paragraph paragraphEnd = page.Columns[0].Lines[page.Columns[0].Lines.Count - 1].Paragraph;

            // 終了インデックスを初期化する
            int endIndex = 0;
            if (paragraphEnd != null)
            {
                // 最後の段落のインデックスを取得する
                endIndex = body.ChildObjects.IndexOf(paragraphEnd);
            }

            // 新しい段落スタイルを作成する
            ParagraphStyle paragraphStyle = new ParagraphStyle(document);
            paragraphStyle.Name = "CustomParagraphStyle1";
            paragraphStyle.ParagraphFormat.LineSpacing = 12;
            paragraphStyle.ParagraphFormat.AfterSpacing = 8;
            paragraphStyle.CharacterFormat.FontName = "Yu Mincho";
            paragraphStyle.CharacterFormat.FontSize = 12;

            // ドキュメントのスタイルコレクションに段落スタイルを追加する
            document.Styles.Add(paragraphStyle);

            // 新しい段落を作成し、テキスト内容を設定する
            Paragraph paragraph = new Paragraph(document);
            paragraph.AppendText("弊社の Spire.Doc for .NET 製品をご利用いただきありがとうございます。試用版では生成されるドキュメントに赤い透かしが追加され、最初の10ページのみ他の形式に変換可能です。ライセンスを購入して適用すると、これらの透かしが削除され、機能制限が解除されます。");

            // 段落スタイルを適用する
            paragraph.ApplyStyle(paragraphStyle.Name);

            // 指定された位置に段落を挿入する
            body.ChildObjects.Insert(endIndex + 1, paragraph);

            // もう一つの新しい段落を作成する
            paragraph = new Paragraph(document);
            paragraph.AppendText("製品をより完全に体験していただくために、お客様には1ヶ月の無料仮ライセンスを提供しています。sales @e-iceblue.com にメールを送っていただければ、1営業日以内にライセンスをお送りします。");

            // 段落スタイルを適用する
            paragraph.ApplyStyle(paragraphStyle.Name);

            // 改ページを追加する
            paragraph.AppendBreak(BreakType.PageBreak);

            // 指定された位置に段落を挿入する
            body.ChildObjects.Insert(endIndex + 2, paragraph);

            // 指定されたパスにドキュメントを保存する
            document.SaveToFile("Wordにページを挿入.docx", Spire.Doc.FileFormat.Docx);

            // ドキュメントを閉じ、リソースを解放する
            document.Close();
            document.Dispose();
        }
    }
}

C#:Word 文書にページを追加、挿入、削除する方法

C# を使用して Word ドキュメントからページを削除する

ページのコンテンツを削除するには、まずドキュメント内のそのページの開始要素と終了要素のインデックス位置を特定します。その後、これらの要素を一つずつ順に削除するためにループを利用します。詳細な手順は以下の通りです:

  • Document オブジェクトを作成する。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
  • FixedLayoutDocument オブジェクトを作成する。
  • ドキュメント内の最初のページの FixedLayoutPage オブジェクトを取得する。
  • FixedLayoutPage.Section プロパティを使用してページが存在するセクションを取得する。
  • セクション内のページの最初の段落のインデックス位置を特定する。
  • セクション内のページの最後の段落のインデックス位置を特定する。
  • for ループを使用してページのコンテンツを一つずつ削除する。
  • Document.SaveToFile() メソッドを使用して結果のドキュメントを保存する。
  • C#
using Spire.Doc;
using Spire.Doc.Pages;
using Spire.Doc.Documents;

namespace DeletePageWord
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 新しいドキュメントオブジェクトを作成する
            Document document = new Document();

            // サンプルドキュメントをファイルからロードする
            document.LoadFromFile("Wordにページを挿入.docx");

            // 固定レイアウトドキュメントオブジェクトを作成する
            FixedLayoutDocument layoutDoc = new FixedLayoutDocument(document);

            // 2ページ目を取得する
            FixedLayoutPage page = layoutDoc.Pages[1];

            // ページのセクションを取得する
            Section section = page.Section;

            // 1ページ目の最初の段落を取得する
            Paragraph paragraphStart = page.Columns[0].Lines[0].Paragraph;
            int startIndex = 0;
            if (paragraphStart != null)
            {
                // 開始段落のインデックスを取得する
                startIndex = section.Body.ChildObjects.IndexOf(paragraphStart);
            }

            // 最後のページの最後の段落を取得する
            Paragraph paragraphEnd = page.Columns[0].Lines[page.Columns[0].Lines.Count - 1].Paragraph;

            int endIndex = 0;
            if (paragraphEnd != null)
            {
                // 終了段落のインデックスを取得する
                endIndex = section.Body.ChildObjects.IndexOf(paragraphEnd);
            }

            // 指定された範囲内のすべてのコンテンツを削除する
            for (int i = 0; i <= (endIndex - startIndex); i++)
            {
                section.Body.ChildObjects.RemoveAt(startIndex);
            }

            // 指定されたパスにドキュメントを保存する
            document.SaveToFile("Wordからページを削除.docx", Spire.Doc.FileFormat.Docx);

            // ドキュメントを閉じ、リソースを解放する
            document.Close();
            document.Dispose();
        }
    }
}

C#:Word 文書にページを追加、挿入、削除する方法

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

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

Read 180 times