今日のデジタル時代では、文書内に埋め込まれた隠された情報を理解することが、効率的な文書管理と分析のために最も重要です。著者名、作成日、改訂履歴などのドキュメントのメタデータは、ドキュメントの起源と発展についての貴重な洞察を提供します。この記事では、メタデータ ライブラリの機能を利用して C#** を使用し、**DOCX からメタデータを読み取る方法を説明します。これにより、開発者はドキュメント リポジトリをさらに深く掘り下げ、ドキュメント処理ワークフローを強化できます。次の主要な手順とコード例は、C# を使用して DOCX のメタデータを読み取る方法を示しています。
C# を使用して DOCX からメタデータを読み取る手順
- GroupDocs.Metadata for .NET を利用して DOCX メタデータ情報を取得するように IDE を設定します
- Metadata クラスのインスタンスを作成し、DOCX ファイルのファイル パスをパラメータとしてコンストラクターに渡します
- 取得されたすべてのメタデータ プロパティを検査するための述語を作成する
- Metadata.FindProperties メソッドに述語を指定します
- 取得したプロパティを反復処理する
ドキュメントの分類の自動化、ドキュメント リポジトリ内での検索機能の実装、組織標準への準拠の確保など、C# で DOCX のメタデータを抽出できる機能は、開発者に多くの可能性をもたらします。 .NET がインストールされている限り、指定された手順に従えば、Windows、macOS、Linux などの広く使用されているオペレーティング システムと互換性があります。この手順では、追加のソフトウェアをインストールする必要はありません。推奨ライブラリを設定し、それに応じてファイル パスを調整したら、次のコードをプロジェクトに組み込む作業が滞りなくスムーズに進むはずです。
C# を使用して DOCX からメタデータを読み取るコード
using GroupDocs.Metadata; | |
using GroupDocs.Metadata.Common; | |
using GroupDocs.Metadata.Tagging; | |
using System.Text.RegularExpressions; | |
namespace ReadMetadataFromDOCXUsingCSharp | |
{ | |
internal class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Set License to avoid the limitations of Metadata library | |
License lic = new License(); | |
lic.SetLicense(@"GroupDocs.Metadata.lic"); | |
// Pass absolute or relative path of document to Metadata's constructor | |
using (Metadata metadata = new Metadata(@"input.docx")) | |
{ | |
if (metadata.FileFormat != FileFormat.Unknown && !metadata.GetDocumentInfo().IsEncrypted) | |
{ | |
Console.WriteLine(); | |
// Fetch all metadata properties that fall into a particular category | |
var properties = metadata.FindProperties(p => p.Tags.Any(t => t.Category == Tags.Content)); | |
Console.WriteLine("The metadata properties describing some characteristics of the file content: title, keywords, language, etc."); | |
foreach (var property in properties) | |
{ | |
Console.WriteLine("{0} = {1}", property.Name, property.Value); | |
} | |
// Fetch all properties having a specific type and value | |
var year = DateTime.Today.Year; | |
properties = metadata.FindProperties(p => p.Value.Type == MetadataPropertyType.DateTime && | |
p.Value.ToStruct(DateTime.MinValue).Year == year); | |
Console.WriteLine("All datetime properties with the year value equal to the current year"); | |
foreach (var property in properties) | |
{ | |
Console.WriteLine("{0} = {1}", property.Name, property.Value); | |
} | |
// Fetch all properties whose names match the specified regex | |
const string pattern = "^author|company|(.+date.*)$"; | |
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase); | |
properties = metadata.FindProperties(p => regex.IsMatch(p.Name)); | |
Console.WriteLine("All properties whose names match the following regex: {0}", pattern); | |
foreach (var property in properties) | |
{ | |
Console.WriteLine("{0} = {1}", property.Name, property.Value); | |
} | |
} | |
} | |
} | |
} | |
} |
結論として、DOCX からメタデータを読み取ることで、開発者はドキュメント コレクションについてより深い洞察を得ることができます。この記事で説明されている手順に従い、提供されているコード例を活用すると、C# で DOCX のメタデータをシームレスに取得でき、ドキュメントの整理、分析、管理が向上します。さまざまなメタデータ プロパティを試し、ライブラリを探索して、C# でのドキュメント処理機能をさらに拡張します。おめでとう!これで、C# を使用して DOCX メタデータを抽出できるようになりました。
以前の会話で、C# を使用したドキュメント情報の取得に関する広範なチュートリアルを提供しました。この主題をより深く理解するには、C#を使用してドキュメント情報を取得する の詳細なガイドを参照することをお勧めします。