JavaでGroupDocs.Redactionを使用して機密データを編集する

GroupDocs.Redaction は、70 以上のドキュメント形式から機密情報をプログラムで削除し、元のレイアウトを保持する Java ライブラリです。このチュートリアルでは、Java アプリケーションで 機密データを編集 する方法、バッチのファイルに編集ポリシーを適用する方法、そして書式を失わずに結果を保存する方法を学びます。

クイック回答

  • 安全なドキュメント処理とは何ですか? ファイルを取り扱い、編集し、保存する際に、機密データがワークフロー全体で保護されることを意味します。
  • 1 回の実行で複数のファイルを処理できますか? はい。フォルダーを反復処理することで、同じ編集ポリシーをすべてのドキュメントに自動的に適用できます。
  • 機密データをどのように編集しますか? 隠すべきパターンやオブジェクトを定義した編集ポリシーを作成し、そのポリシーで Redactor を実行します。
  • 本番環境でライセンスが必要ですか? 本番環境では有効な GroupDocs.Redaction ライセンスが必要です。評価用のトライアルライセンスも利用可能です。
  • ラスタライズせずに編集済みドキュメントを保存できますか? RasterizationOptions.setEnabled(false) を設定して、元のファイル形式を変更せずに保存できます。

GroupDocs.Redaction を使用して Java ドキュメントの機密データを編集する方法

ディレクトリ内の各ファイルに対して編集ポリシーを読み込み、実行し、出力を保存します—すべて数ステップで完了します。GroupDocs.Redaction の API を使用すれば、バッチ処理でレイアウトを保持しながら指定したデータを安全に削除でき、ラスタライズ、出力形式、パフォーマンス特性を制御するオプションも提供されます。

Java で GroupDocs.Redaction を使用する理由

GroupDocs.Redaction は 70 以上の入力および出力形式(PDF、DOCX、PPTX、画像など)をサポートし、正確なテキスト、画像、メタデータを対象とした細かいポリシーを定義できます。ライブラリはバッチを効率的に処理し、ラスタライズを切り替えて元の形式を保持するか、ページを画像に変換してセキュリティを強化できます。

前提条件

  • Java Development Kit (JDK) 8 以上 がインストールされていること。
  • Maven などのビルドツールで依存関係を管理できること。
  • 基本的な Java の知識とファイル I/O に関する理解。

Java 用 GroupDocs.Redaction の設定

Maven 設定

pom.xml に以下の依存関係を追加してください。

The following Maven dependency adds GroupDocs.Redaction to your project.

<!-- Maven dependency placeholder -->
<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/redaction/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-redaction</artifactId>
      <version>24.9</version>
   </dependency>
</dependencies>

直接ダウンロード

または、最新の JAR を GroupDocs.Redaction for Java releases からダウンロードしてください。

ライセンス取得

開発にはトライアルライセンスで十分ですが、本番環境でのデプロイには、アプリケーションのリソースフォルダーに配置し、実行時に参照する永続ライセンスファイルが必要です。

基本的な初期化と設定

必要なクラスをインポートし、Redactor インスタンスを作成します。Redactor はドキュメントの編集操作を実行する主要クラスです。

// Initialization code placeholder
import com.groupdocs.redaction.*;

実装ガイド

編集ポリシーとは何ですか?

編集ポリシーは、Redactor に対してどのテキストパターン、画像、メタデータを隠すまたは削除するかを指示する再利用可能なルールセットです。一度定義すれば任意の数のドキュメントに適用でき、すべての処理ファイルで一貫したコンプライアンスを実現します。

RedactionPolicy policy = RedactionPolicy.load("YOUR_POLICY_FILE_PATH");

編集ポリシーの読み込みと適用

ポリシーを XML または JSON ファイルから読み込み、フォルダー内の各ドキュメントに適用 します。

// Load and apply policy code placeholder
for (final File fileEntry : new File("YOUR_DOCUMENT_DIRECTORY").listFiles()) {
    final Redactor redactor = new Redactor(fileEntry.getPath());
    try {
        // Apply the loaded redaction policy
        RedactorChangeLog result = redactor.apply(policy);
        
        // Determine output directory based on processing status
        File resultFolder = new File(result.getStatus() != RedactionStatus.Failed ? "YOUR_OUTPUT_DIRECTORY_DONE" : "YOUR_OUTPUT_DIRECTORY_FAILED");
        
        // Save the processed file
        try (FileOutputStream fileStream = new FileOutputStream(resultFolder.getPath() + "/" + fileEntry.getName())) {
            RasterizationOptions options = new RasterizationOptions();
            options.setEnabled(false);
            redactor.save(fileStream, options);
        }
    } finally {
        redactor.close(); // Ensure resources are released
    }
}

バッチで複数ファイルを処理する

ディレクトリを走査し、Redactor で各ファイルを開き、同じポリシーを適用します。

// Batch processing code placeholder
File inputFile = new File("YOUR_DOCUMENT_DIRECTORY/input.docx");

ラスタライズオプションで処理済みドキュメントを保存する

入力ファイル用 Redactor の初期化

編集対象のファイルを開きます。

// Open file code placeholder
try (Redactor redactor = new Redactor(inputFile.getPath())) {
    try (FileOutputStream fileStream = new FileOutputStream(outputFileDirectory.getPath() + "/processed_output.docx")) {
        RasterizationOptions options = new RasterizationOptions();
        options.setEnabled(false);  // Example option to disable rasterization
        redactor.save(fileStream, options);
    }
}

ラスタライズオプションで保存

RasterizationOptions を設定して元の形式を保持するかページを画像に変換し、保存します。

// Save options code placeholder

主なオプション

  • setEnabled(false) – 元のファイルタイプを保持します。
  • setResolution(150) – 画像にラスタライズする際の DPI を設定します。

書式を失わずに編集済みドキュメントを保存する方法?

save を呼び出す前にラスタライズフラグを false に設定します。これにより GroupDocs.Redaction はソースと同じ形式で出力し、テーブルやフォント、レイアウトが変更されないまま必要な編集を適用します。

実用的な活用例

  1. 法務文書の処理 – 下書きを共有する前にクライアント識別子を編集します。
  2. 医療データ管理 – 患者情報を削除して HIPAA 準拠を維持します。
  3. 財務レポート – 配布時に口座番号を非表示にします。
  4. 契約書レビュー – 交渉中に機密条項を保護します。
  5. メールアーカイブ – 企業メールアーカイブを保存する際にプライバシーコンプライアンスを確保します。

パフォーマンス上の考慮点

  • リソース管理 – メモリ解放のために常に Redactor を閉じます。
  • バッチ処理 – 速度とメモリ使用量のバランスを取るため、10〜20 件ずつのグループでファイルを処理します。
  • 最適化されたポリシー – 必要なパターンだけに限定し、広範なパターンは処理時間を増加させます。

よくある落とし穴とトラブルシューティング

  • ライセンスが見つからない例外 – ライセンスファイルのパスが正しいか、ファイルが読み取り可能か確認してください。
  • 未対応ファイル形式 – サポートされている形式リストを確認してください。未対応ファイルは UnsupportedFormatException をスローします。
  • 大容量 PDF のメモリ不足エラー – JVM ヒープを増やす(-Xmx2g)か、編集前に PDF を小さなチャンクに分割してください。

よくある質問

Q: 1 つのコマンドで複数のファイルを処理するにはどうすればよいですか?
A: 「ドキュメントへのポリシー適用」例に示したディレクトリ反復ループを使用してください。指定フォルダー内のすべてのファイルが自動的に編集されます。

Q: 「機密データを編集する」とは実際に何が削除されますか?
A: ポリシーはプレーンテキストパターン、画像、メタデータを対象にでき、設定に応じて黒枠で隠すか完全に削除します。

Q: 編集ポリシーを適用する前にプレビューする方法はありますか?
A: はい。redactor.preview(policy)(サポートされている場合)を呼び出すと、隠される内容を示すプレビューページ PDF が生成されます。

Q: 元の書式を失わずに編集済みドキュメントを保存するにはどうすればよいですか?
A: RasterizationOptions.setEnabled(false) を設定してください。これにより、ネイティブ形式で保存されながら編集が適用されます。

Q: 開発テストにライセンスは必要ですか?
A: 開発には一時的またはトライアルライセンスで十分です。本番デプロイにはフルライセンスが必要です。

リソース

結論

本ガイドに従うことで、GroupDocs.Redaction の強力なポリシーエンジンとバッチ処理機能を活用し、Java ドキュメントから機密データを安全に大規模に 編集 できます。コンプライアンス要件に合わせてポリシーを調整し、パフォーマンス向上のためにラスタライズ設定を最適化し、任意の Java ベースのバックエンドサービスにワークフローを統合してください。


最終更新日: 2026-08-31
テスト環境: GroupDocs.Redaction 24.9 for Java
作者: GroupDocs

関連チュートリアル