Word ドキュメントからコンテンツを読み取ることは、多くの仕事や学習タスクにおいて重要です。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 ドキュメントからページを読み取る
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 <= endIndex; i++)
{
newSection.Body.ChildObjects.Add(section.Body.ChildObjects[i].Clone());
}
// 新しいドキュメントを指定されたファイルに保存する
newdoc.SaveToFile("Wordのページから内容を読む.docx", Spire.Doc.FileFormat.Docx);
// 新しいドキュメントを閉じてリソースを解放する
newdoc.Close();
newdoc.Dispose();
// 元のドキュメントを閉じてリソースを解放する
document.Close();
document.Dispose();
}
}
}
C# で Word ドキュメントからセクションを読み取る
Document.Sections[index] プロパティを使用すると、ヘッダー、フッター、本文コンテンツを含む特定のセクションオブジェクトを取得できます。この例では、セクションのすべてのコンテンツを別のドキュメントにコピーする簡単な方法を提供します。詳細な手順は以下の通りです:
- Document オブジェクトを作成する。
- Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
- Document.Sections[1] プロパティを使用してドキュメントの第二セクションを取得する。
- 別の新しい Document オブジェクトを作成する。
- Document.CloneDefaultStyleTo(newdoc) メソッドを使用して、元のドキュメントのデフォルトスタイルを新しいドキュメントにクローンする。
- newdoc.Sections.Add(section.Clone()) メソッドを使用して、元のドキュメントの第二セクションのコンテンツを新しいドキュメントにクローンする。
- Document.SaveToFile() メソッドを使用して結果のドキュメントを保存する。
- C#
using Spire.Doc;
namespace ReadWordSectionContent
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// ファイルからWordドキュメントをロードする
document.LoadFromFile("Sample.docx");
// ドキュメントの2番目のセクションを取得する
Section section = document.Sections[1];
// 新しいドキュメントオブジェクトを作成する
Document newdoc = new Document();
// デフォルトスタイルを新しいドキュメントにクローンする
document.CloneDefaultStyleTo(newdoc);
// 2番目のセクションを新しいドキュメントにクローンする
newdoc.Sections.Add(section.Clone());
// 新しいドキュメントをファイルに保存する
newdoc.SaveToFile("Wordのセクションから内容を読む.docx", Spire.Doc.FileFormat.Docx);
// 新しいドキュメントオブジェクトを閉じてリソースを解放する
newdoc.Close();
newdoc.Dispose();
// 元のドキュメントオブジェクトを閉じてリソースを解放する
document.Close();
document.Dispose();
}
}
}
C# で Word ドキュメント全体のコンテンツを読み取る
この例では、元のドキュメントの各セクションを順に繰り返し処理し、各セクションを新しいドキュメントにクローンすることで、ドキュメント全体のコンテンツを読み取る方法を示します。詳細な手順は以下の通りです:
- Document オブジェクトを作成する。
- Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込む。
- 別の新しい Document オブジェクトを作成する。
- Document.CloneDefaultStyleTo(newdoc) メソッドを使用して、元のドキュメントのデフォルトスタイルを新しいドキュメントにクローンする。
- foreach ループを使用して元のドキュメントの各セクションを順に繰り返し処理し、各セクションを新しいドキュメントにクローンする。
- Document.SaveToFile() メソッドを使用して結果のドキュメントを保存する。
- C#
using Spire.Doc;
namespace ReadWordDocumentContent
{
internal class Program
{
static void Main(string[] args)
{
// 新しいドキュメントオブジェクトを作成する
Document document = new Document();
// ファイルからWordドキュメントをロードする
document.LoadFromFile("Sample.docx");
// 新しいドキュメントオブジェクトを作成する
Document newdoc = new Document();
// デフォルトスタイルを新しいドキュメントにクローンする
document.CloneDefaultStyleTo(newdoc);
// 元のドキュメントの各セクションを反復処理して新しいドキュメントにクローンする
foreach (Section sourceSection in document.Sections)
{
newdoc.Sections.Add(sourceSection.Clone());
}
// 新しいドキュメントをファイルに保存する
newdoc.SaveToFile("Word文書からコンテンツを読み込む.docx", Spire.Doc.FileFormat.Docx);
// 新しいドキュメントオブジェクトを閉じてリソースを解放する
newdoc.Close();
newdoc.Dispose();
// 元のドキュメントオブジェクトを閉じてリソースを解放する
document.Close();
document.Dispose();
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。