Streams を使用した .net ドキュメントの赤字処理 – 完全ガイド
ようこそ!このチュートリアルでは、GroupDocs.Redaction を使用してストリームを活用し、redact documents .net を安全に実行する方法をご紹介します。ライブラリのインストール、ストリームからのドキュメントの読み込み、正確な赤字処理の適用、ディスクに一時ファイルを残さずに結果を保存するまで、必要なすべてを順に解説します。
クイック回答
- .NET で赤字処理を担当するライブラリは何ですか? GroupDocs.Redaction for .NET.
- ストリームから直接ファイルを読み込むことはできますか? はい —
FileStreamと Redactor コンストラクタを使用します。 - サポートされている形式は何ですか? PDF、DOCX、XLSX、PPTX を含む、70 以上の入力および出力形式がサポートされています。
- 本番環境でライセンスが必要ですか? トライアル以外で使用する場合は、有効な GroupDocs.Redaction ライセンスが必要です。
- 大きなファイルでも安全ですか? ストリームベースの処理により、ファイル全体をメモリに読み込むことを回避し、数ギガバイトのドキュメントの取り扱いが可能になります。
“redact documents .net” とは何ですか?
“Redact documents .net” は、GroupDocs.Redaction などの .NET ライブラリを使用してファイルから機密情報を永久に削除またはマスクするプロセスを指します。これにより、機密データが平文のままシステムから外部に漏れることがなくなります。主に法務、金融、医療分野で、GDPR や HIPAA といったプライバシー規制に準拠するために使用され、処理後に機密データが復元できないようにします。
赤字処理にストリームを使用する理由
GroupDocs.Redaction は 70 以上のファイル形式 をサポートし、2 GB までのファイルをメモリに完全に読み込むことなく処理できます。ストリーミングにより I/O のオーバーヘッドが削減され、パフォーマンスが向上し、変換に必要な短時間だけデータをメモリに保持することでセキュリティのベストプラクティスにも合致します。
前提条件
- GroupDocs.Redaction for .NET – NuGet でインストールします(下記参照)。
- .NET 6+(または .NET Framework 4.6.1+)。
- Visual Studio 2022 または互換性のある IDE。
- 基本的な C# の知識と .NET ストリームに関する知識。
GroupDocs.Redaction のインストール
以下のコマンドのいずれかでパッケージを追加できます:
.NET CLI
dotnet add package GroupDocs.Redaction
Package Manager Console
Install-Package GroupDocs.Redaction
または NuGet パッケージ マネージャー UI で “GroupDocs.Redaction” を探し、Install をクリックします。
ライセンス取得手順
- Free Trial – GroupDocs からトライアルをダウンロードします。
- Temporary License – 評価用の短期キーをリクエストします。
- Full Purchase – 本番環境で使用する永続ライセンスを取得します。
インストールが完了したら、コード内でライブラリを初期化します:
using GroupDocs.Redaction;
// Initialization code here...
ストリームからドキュメントを読み込む方法は?
FileStream はディスク上のファイルの読み取りおよび書き込み用ストリームを提供します。Redactor クラスはドキュメントを処理し、赤字ルールを適用します。ソースファイルを FileStream にロードし、そのストリームを Redactor コンストラクタに渡します。このアプローチにより、元のファイルを一時的な場所に書き出すことを回避し、処理中のみデータをメモリに保持します。この方法は、PDF や Office ドキュメントを含むすべてのサポート形式で機能します。
// Directly open the source file as a read‑only stream
using var inputStream = new FileStream(inputPath, FileMode.Open, FileAccess.Read);
ストリームで Redactor を初期化する方法は?
Redactor クラスはドキュメント内容を操作するコアエンジンです。入力ストリームを提供することで、中間ファイルなしでメモリ内での赤字処理が可能になります。インスタンスを作成した後、赤字ルールをチェーンしたり、変更をプレビューしたり、最終ドキュメントを確定する前にラスタライズや暗号化などのオプションを設定できます。
// Initialise the Redactor with the input stream
using var redactor = new GroupDocs.Redaction.Redactor(inputStream);
Definition anchor: GroupDocs.Redaction.Redactor は、ストリームからロードされたドキュメントに対して赤字操作を適用、プレビュー、確定するメソッドを提供する主要クラスです。
赤字処理を適用する方法は?
複数の赤字アクションを追加できます。以下の例はすべてのアノテーションを削除しますが、これは隠しコメントやレビュアーノートを除去する一般的な要件です。DeleteTextRedaction や ReplaceTextRedaction などの追加の赤字タイプを組み合わせて、ドキュメント全体の特定の文字列、日付、パターンを削除またはマスクすることができます。
// Apply a predefined redaction that removes every annotation
redactor.Apply(new DeleteAnnotationRedaction());
Definition anchor: DeleteAnnotationRedaction は、コメント、ハイライト、スタンプなどのアノテーションオブジェクトをドキュメントから永久に消去する組み込みの赤字ルールです。
赤字処理されたドキュメントを保存する方法は?
FileStream に直接保存することで、出力が一度の書き込みで完了し、不要な一時ファイルが排除されます。SaveOptions オブジェクトを使用して出力形式、圧縮レベル、オプションのパスワード保護を指定し、セキュリティ要件を満たすことができます。最後に、出力ストリームを閉じてファイルハンドルを解放し、ファイルがディスクに完全に書き込まれることを確認します。
// Prepare the output stream for the redacted file
using var outputStream = new FileStream(outputPath, FileMode.Create, FileAccess.Write);
// Save the modified document; RasterizationOptions disabled to keep text editable
redactor.Save(outputStream, new SaveOptions { RasterizationOptions = null });
Definition anchor: SaveOptions は、ラスタライズ、暗号化、形式選択など、ドキュメントの永続化方法を制御できるようにします。
一般的なユースケース
- 法務文書の取り扱い: クライアントとドラフトを共有する前に機密アノテーションを除去します。
- GDPR コンプライアンス: 契約書や従業員記録から個人識別子を削除します。
- 内部監査レポート: 配布用に主要コンテンツを保持しつつ、レビュアーノートを非表示にします。
大容量ファイルのパフォーマンス向上のヒント
- ストリームを速やかに破棄する –
using文はストリームを自動的に閉じ、メモリを解放します。 - バッチ処理 – ファイルのコレクションをループし、フォーマットが許す場合は単一の
Redactorインスタンスを再利用して、割り当てオーバーヘッドを削減します。
トラブルシューティング
- ファイルアクセスが拒否されました – アプリケーションのアカウントが対象フォルダーに対して読み取り/書き込み権限を持っていることを確認してください。
- 赤字処理が適用されません – 選択した赤字タイプがドキュメント形式と互換性があることを確認してください(例:
DeleteAnnotationRedactionは PDF と DOCX で機能します)。
よくある質問
Q: ストリームで処理できるファイル形式はどれですか?
A: GroupDocs.Redaction は、ストリームベースの API を使用する場合、PDF、DOCX、XLSX、PPTX、HTML などを含む 70 以上の形式をサポートしています。
Q: 保存前に赤字処理をプレビューできますか?
A: はい、redactor.GetRedactedDocument() を呼び出すことで、プログラムでレンダリングまたは検査できるメモリ内表現を取得できます。
Q: ライブラリはパスワード保護されたファイルをどのように扱いますか?
A: Redactor のオーバーロードで LoadOptions にパスワードを含めてストリームを開く際に、パスワードを指定します。
Q: ドキュメントサイズに制限はありますか?
A: エンジンは最大 2 GB のファイルを処理できます。より大きなファイルは、メモリ制限内に収めるために分割するか、チャンク単位で処理してください。
Q: 各デプロイ環境ごとに別々のライセンスが必要ですか?
A: 使用がライセンス契約に準拠している限り、単一のライセンスキーを複数の環境で使用できます。
結論
これで、GroupDocs.Redaction を使用したストリームによる redact documents .net の完全なステップバイステップソリューションが手に入りました。ファイルをストリームから直接ロードし、対象となる赤字処理を適用し、途中のアーティファクトなしで保存することで、セキュリティとパフォーマンスの両方を実現できます。テキスト置換やメタデータ除去など、追加の赤字タイプを検討して、特定のコンプライアンス要件に合わせてプロセスをカスタマイズしてください。
最終更新日: 2026-07-06
テスト環境: GroupDocs.Redaction 5.0 for .NET
作者: GroupDocs
リソース
string sourceFile = Path.Combine("YOUR_DOCUMENT_DIRECTORY", "sample.docx");
using (Stream stream = File.Open(sourceFile, FileMode.Open, FileAccess.ReadWrite))
{
// Proceed with document processing...
}
using (var redactor = new GroupDocs.Redaction.Redactor(stream))
{
// Apply redactions...
}
redactor.Apply(new GroupDocs.Redaction.Redactions.DeleteAnnotationRedaction());
string outputFile = Path.Combine("YOUR_OUTPUT_DIRECTORY", "redacted_sample.docx");
using (Stream streamOut = File.Open(outputFile, FileMode.Create, FileAccess.Write))
{
redactor.Save(streamOut, new GroupDocs.Redaction.Options.RasterizationOptions { Enabled = false });
}