記事の1つで、。NET開発者としてドキュメント内の単語を編集する方法 。この戦略は、機密コンテンツを消去したり、電子メールアドレスや識別番号などの個人情報を非表示または削除したりするためにさまざまな方法で使用されます。この記事では、JavaのWordDOC / DOCXドキュメントで単語検索を実行する方法について説明します。テキスト、単語、またはフレーズを検索して、Java APIを使用してさまざまな手法で置き換える方法については、個別に説明します。

以下のトピックについて以下で説明します。

単語検索とテキスト置換のためのJavaAPI

** GroupDocs **は、Java redaction API を提供します。これにより、MSWordでサポートされているファイルやその他のさまざまなファイル形式のドキュメントのコンテンツを検索して置き換えることができます。テキストの編集とラスタライズに加えて、APIはメタデータ、注釈、スプレッドシート、および画像の編集機能もサポートしています。 Wordドキュメント、スプレッドシート、プレゼンテーション、画像、およびPDFドキュメントのサポートされているファイル形式 は、ドキュメントで入手できます。

###ダウンロードまたは構成

** JAR **ファイルはダウンロードセクション からダウンロードするか、maven-のpox.xmlの最新のリポジトリと依存関係の構成を取得することができます。ベースのJavaアプリケーション。

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-redaction</artifactId>
        <version>21.12</version> 
</dependency>

MS Wordまたはその他のサードパーティソフトウェアは、編集プロセスには必要ありません。ここで、検索を処理してテキストを置き換えるためのさまざまなアプローチから始めましょう。以下は、以下の例で使用されているWord文書のスクリーンショットです。ソースコードをほとんどまたはまったく変更せずに、他のドキュメント形式でも同じ方法を使用できます。

テキストを編集するドキュメント

Javaを使用して単語またはフレーズを検索して置換する

次の手順では、Javaアプリケーション内のWordドキュメントで出現する単語/フレーズを検索して置換する方法について説明します。

次のコードは、Javaを使用して、上記のWordドキュメント内の「JohnDoe」という単語を検索して置き換えます。これは、「JohnDoe」のすべての出現箇所を「[censored]」という単語に置き換えます。

// 正確なフレーズを見つけて、Javaを使用して他のテキストに置き換えます
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// 編集したファイルを別の場所に別の名前で保存する場合。
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

コードの出力は次のとおりです。

正確なフレーズを使用して編集する

Javaで大文字と小文字を区別する単語検索とテキストの置換

単語の正確な大文字小文字の区別に注意しているようで、大文字と小文字を区別する検索にのみ一致する単語のみを置き換えたいと考えています。次のコードは、Javaの「JohnDoe」という単語の完全な大文字小文字の一致の存在を置き換えます。

// 正確なフレーズ(大文字と小文字を区別) を検索し、Javaを使用して他のテキストに置き換えます
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

コードの出力は次のとおりです。

大文字と小文字を区別する編集

Javaで正規表現(RegEx) を使用してテキストを置き換える

正確な単語ではなく、ドキュメントに存在するパターンを変更したい場合は、正規表現を使用できます。次の手順では、Javaアプリケーション内で正規表現(RegEx) を使用して、テキストのパターンを見つけて置き換えることができます。

  • Redactor クラスを使用してドキュメントをロードします。
  • RegexRedaction を使用して正規表現を作成します。
  • ReplacementOptions を使用してテキストを提供し、正規表現の一致を置き換えます。 *適用メソッドを使用してすべての正規表現の一致を置き換えます。 *編集されたドキュメントを取得するには、saveメソッドを使用します。

次のコードは、RegExを使用してWordファイルで単語検索を実行し、Javaを使用して他のテキストに置き換える方法を示しています。

// 正規表現を使用してテキストを検索し、Javaを使用して他のテキストに置き換えます
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();

上記のコードの出力は次のとおりです。

RegEx編集

Javaでテキストを色付きのボックスに置き換える

コンテンツを置き換えたくなく、単に非表示にしたい場合、APIを使用すると、コンテンツの上にボックスを描画することで、テキストの一致をカバーできます。次のJavaコードは、黒い長方形のボックスでテキストを非表示にします。

// テキストを検索し、Javaを使用してその上に長方形を描画して非表示にします
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();

上記のコードの出力は次のとおりです。

ボックスを使用してテキストを非表示

無料のAPIライセンスを取得する

評価の制限なしでAPIを使用するために、無料の一時ライセンスを取得 することができます。

結論

要約すると、正確なテキストフレーズ検索、大文字と小文字を区別する検索、正規表現を使用した検索を使用して単語検索を実行し、Word文書内のテキストを検索する方法を学びました。最後に、テキストを置き換える代わりに非表示にします。これらのさまざまな手法を使用して、MSWordドキュメント内のさまざまな方法で結果を置き換えることができます。

APIの詳細と学習については、ドキュメント にアクセスしてください。質問については、フォーラム からお問い合わせください。

関連項目