今日は、** C#を使用してドキュメントと画像のメタデータをプログラムで削除または完全にクリーンアップする**いくつかの方法を学習しようとしています。 以前の投稿では、Javaを使用して、ドキュメントと画像から選択的および使用可能なすべてのメタデータプロパティを削除する方法について説明しました。ドキュメントに添付されている受信者から個人情報を隠すことが重要な場合があります。以下は、C#を使用してメタデータからファイルをクリーンアップするのに役立つトピックです。

.NETメタデータ削除API

計画されていることを実現するために、GroupDocs.Metadata for .NET APIを使用します。これにより、.NET開発者は、多くのサポートされている形式のドキュメントからメタデータを追加、変更、抽出、削除、または完全に実行できます。画像、およびその他のファイル。 APIは、EXIF、XMP、IPTC、ID3タグなどのメタデータ標準をサポートしています。DLLまたはMSIインストーラーをダウンロードするか、NuGetからインストールできます。

Install-Package GroupDocs.Metadata

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

特定のフィルターを適用せずにすべてのメタデータプロパティを削除するには、Sanitizeメソッドを使用します。以下は、GroupDocs.Metadata for .NETを使用して、DOCX、PDF、XLSXなどのドキュメントからメタデータをクリーンアップする手順です。

  • Metadataクラスオブジェクトを作成することから始め、ターゲットドキュメントのパスをパラメータとして渡します。
  • Sanitizeメソッドを使用して、使用可能なすべてのメタデータをクリアします。削除されたメタデータプロパティの数を返します。
  • Saveメソッドを呼び出して、メタデータを削除した出力ファイルを保存します。

次のC#コードサンプルは、PDFドキュメントからメタデータを削除およびクリアする方法を示しています。

/*
* 検出されたすべてのメタデータプロパティをWord、Excel、 
* PowerPoint、PDF、およびC#を使用したその他のドキュメント
*/
using (Metadata metadata = new Metadata("filePath/document.pdf"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.pdf");
}

C#を使用して画像からメタデータを削除する

ドキュメントまたは画像ファイルからメタデータを削除する場合でも、プロセスは同じままです。ソースドキュメントのみがそれに応じて変更されます。

  • Metadataクラスのオブジェクトを作成し、ドキュメントパスをパラメータとして渡します。
  • Sanitizeメソッドを呼び出して、使用可能なメタデータプロパティを削除します。
  • 保存方式で出力ファイルを保存してください。

次のC#コードサンプルは、JPG画像からメタデータを削除する方法を示しています。

/*
* 検出されたすべてのメタデータプロパティをPNG、JPG / JPEG、
* C#を使用したWebP、BMP、GIF、TIFFおよびその他の画像
*/
using (Metadata metadata = new Metadata("filePath/document.jpg"))
{
	var affected = metadata.Sanitize();
	metadata.Save("filePath/output.jpg");
}

C#を使用してドキュメントと画像から選択的なメタデータを削除する

使用可能なすべてのメタデータをファイルから削除する必要がなく、選択したメタデータプロパティのみを削除したい場合。次の手順では、プロパティの特定の名前を使用して、ターゲットのメタデータプロパティを見つけて削除できます。

  • Metadataクラスのオブジェクトを作成して、ソースドキュメントまたは画像ファイルをロードします。
  • メタデータプロパティを見つけるためにパーソナライズされた仕様を作成します。
  • 作成されたパーソナライズされた仕様を使用してRemovePropertiesメソッドを呼び出します。
  • 保存方式で出力ファイルを保存してください。
// C#を使用して、カスタマイズされたフィルターを満たすドキュメントと画像からメタデータプロパティを削除します
using (Metadata metadata = new Metadata("filePath/document.docx"))
{
	// 次のすべてのプロパティを削除します。
	// ドキュメント作成者の名前が含まれているまたは
	// 最後のエディターを指しますまたは 
	// プロパティ値は文字列であり、指定された文字列「GroupDocs」と同じです。
	var affected = metadata.RemoveProperties(
		p => p.Tags.Contains(Tags.Person.Creator) ||
			 p.Tags.Contains(Tags.Person.Editor) ||
			 p.Value.Type == MetadataPropertyType.String && p.Value.ToString().Contains("GroupDocs"));
	Console.WriteLine("Properties removed: {0}", affected);

	metadata.Save("outputPath/document.docx");
}

結論

C#を使用してドキュメントや画像からメタデータを削除する方法を学びました。この記事を読んだ後は、.NETを使用して独自のメタデータクリーナーアプリケーションを構築することに慣れることができます。 MS Word文書形式、スプレッドシート、プレゼンテーション、PDFファイル、画像、電子書籍、電子書籍、図面、zipファイル、およびその他多くのAPIでサポートされているファイル形式からのメタデータの削除をサポートできます。

ドキュメントから.NETメタデータ操作APIをさらに詳しく調べることができます。

関連項目