Word ドキュメントからコンテンツを読み取ることは、多くの仕事や学習タスクにおいて重要です。Word ドキュメントからページを読むことは、主要な情報を素早く閲覧し要約するのに役立ち、Word ドキュメントからセクションを読むことは、特定のトピックやセクションを深く理解するのに役立ちます。一方、Word ドキュメント全体を読むことは、全体的な情報を包括的に把握し、総合的な分析と理解を促進します。この記事では、Spire.Doc for .NET を使用して C# プロジェクト内で Word ドキュメントのページ、セクション、および全体のコンテンツを読み取る方法を紹介します。 C# で Word ドキュメントからページを読み取る C# で Word ドキュメントからセクションを読み取る C# で Word ドキュメント全体のコンテンツを読み取る Spire.Doc for .NET をインストールします まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.Doc C# で Word ドキュメントからページを読み取る FixedLayoutDocument クラスと FixedLayoutPage クラスを使用すると、指定されたページのコンテンツを簡単に取得できます。抽出したコンテンツを表示しやすくするために、このサンプルコードでは読み取ったコンテンツを新しい Word ドキュメントに保存します。詳細な手順は以下の通りです: Document オブジェクトを作成する。 Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。 FixedLayoutDocument オブジェクトを作成する。 ドキュメント内のページの FixedLayoutPage オブジェクトを取得する。 FixedLayoutPage.Section プロパティを介してページが存在するセクションにアクセスする。 セクション内のページの最初の段落のインデックス位置を取得する。 セクション内のページの最後の段落のインデックス位置を取得する。 別の Document オブジェクトを作成する。 Document.AddSection() メソッドを使用して新しいセクションを追加する。 Section.CloneSectionPropertiesTo(newSection) メソッドを使用して、元のセクションのプロパティを新しいセクションにクローンする。 元のドキュメントから新しいドキュメントにページのコンテンツをコピーする。 Document.SaveToFile() メソッドを使用して結果のドキュメントを保存する。 C# using Spire.Doc; using Spire.Doc.Pages; using Spire.Doc.Documents; namespace SpireDocDemo { 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]; // ページが含まれているセクションを取得する Section section = page.Section; // ページの最初の段落を取得する 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); } // 新しいドキュメントオブジェクトを作成する Document newdoc = new Document(); // 新しいセクションを追加する Section newSection = newdoc.AddSection(); // 元のセクションのプロパティを新しいセクションにクローンする section.CloneSectionPropertiesTo(newSection); // 元のドキュメントのページの内容を新しいドキュメントにコピーする for (int i = startIndex; i