PDF に注釈を追加する方法

PDF に注釈を追加する方法

PDF ファイルにテキスト注釈を追加して、文書に書かれている内容を要約し、重要なポイントやその他の詳細を書き留めます。ただし、ドキュメント内の任意の場所にテキスト注釈を追加できます。作成すると、ポップアップとして表示され、閉じるとアイコンとして表示されます。このブログ投稿では、この Java API for PDF を使用して PDF ファイルに注釈を追加する方法を学習します。さらに、プログラムでファイルにテキスト注釈を追加するのに役立つメソッドについても説明します。

このガイドでは、次の点について説明します。

Java API for PDF - インストール

このライブラリのインストール手順はあと 1 ステップです。 API を ダウンロード するか、次の Maven 構成を使用してインストールできます。

 <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <classifier>jdk17</classifier>
</dependency>

PDF に注釈を追加する方法

これで、この PDF ライブラリのメソッドを利用して、PDF ファイルへのテキスト注釈の追加をプログラムで実装できます。

コード スニペットと以下の手順に従ってください。

  1. Document クラスのインスタンスをインスタンス化し、ソース PDF ファイルを読み込みます。
  2. getItem メソッドを呼び出して、インデックスでページを取得します。
  3. 長方形を表す Rectangle クラスのオブジェクトを初期化します。
  4. TextAnnotation クラスのオブジェクトを作成して、指定したページに新しいテキスト注釈を作成します。
  5. setTitle メソッドは、注釈のタイトル バーに表示されるテキストを設定します。
  6. setSubject メソッドは、オブジェクトの説明を表すテキストを設定します。
  7. setContents メソッドは、注釈テキストを設定します。
  8. Border オブジェクトのコンストラクターを textAnnotation オブジェクトでインスタンス化します。
  9. setWidth および setDash メソッドを呼び出して、ボーダーとダッシュ パターンの幅を設定します。
  10. コレクションに注釈を追加する add メソッドを呼び出します。
  11. save メソッドは注釈ファイルを保存します。

次のコードをコピーしてメイン ファイルに貼り付けます。

// Document クラスのインスタンスをインスタンス化し、ソース PDF ファイルをロードします。
Document document = new Document(  "table.pdf");
// get_Item メソッドを呼び出して、インデックスでページを取得します 
Page page = document.getPages().get_Item(1);
// 長方形を表す Rectangle クラスのオブジェクトを初期化します。
Rectangle rect = new Rectangle(200, 750, 400, 790);
// TextAnnotation クラスのオブジェクトを作成して、指定したページに新しい Text 注釈を作成します。 
TextAnnotation textAnnotation = new TextAnnotation(page, rect);
// setTitle メソッドは、注釈のタイトル バーに表示されるテキストを設定します。 
textAnnotation.setTitle("Aspose User");
// setSubject メソッドは、オブジェクトの説明を表すテキストを設定します。 
textAnnotation.setSubject("Sample Subject");
// setContents メソッドは、注釈テキストを設定します。 
textAnnotation.setContents("Sample contents for the annotation");
textAnnotation.setOpen(true);
textAnnotation.setIcon(TextIcon.Circle);
// textAnnotation オブジェクトを使用して、border オブジェクトのコンストラクターをインスタンス化します。 
Border border = new Border(textAnnotation);
// setWidth メソッドと setDash メソッドを呼び出して、ボーダーとダッシュ パターンの幅を設定します。  
border.setWidth(5);
border.setDash(new Dash(1, 1));
textAnnotation.setBorder(border);
textAnnotation.setRect(rect);
// コレクションに注釈を追加する add メソッドを呼び出します。 
page.getAnnotations().add(textAnnotation);
// save メソッドは注釈ファイルを保存します。 
document.save(  "sample_textannot.pdf");

以下の画像で出力を確認できます。

テキスト注釈

テキスト注釈を読む

同様に、以下の手順に従って、既存の PDF ファイルからテキスト注釈を読み取ることができます。

  1. Document クラスのインスタンスを作成し、ソース PDF ファイルを読み込みます。
  2. getItem メソッドを呼び出して、インデックスでページを取得します。
  3. AnnotationSelector を使用して注釈をフィルタリングします。
  4. accept メソッドを呼び出して、ビジターを受け入れてアノテーションを処理します。
  5. getSelected メソッドを呼び出して、選択された Annotation オブジェクトのリストを取得します。
  6. 結果を印刷します。

次のコードをコピーしてメイン ファイルに貼り付けます。

// Document クラスのインスタンスを作成し、ソース PDF ファイルを読み込みます。 
Document document = new Document(  "sample_textannot.pdf");
// get_Item メソッドを呼び出して、インデックスでページを取得します。   
Page page = document.getPages().get_Item(1);
// AnnotationSelector を使用して注釈をフィルター処理する 
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// accept メソッドを呼び出して、ビジターを受け入れてアノテーションを処理します。 
page.accept(annotationSelector);
//  getSelected メソッドを呼び出して、選択された Annotation オブジェクトのリストを取得します。 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// 結果を印刷する
for (Annotation fa : TextAnnotations) {
    System.out.println(fa.getRect());
}

テキスト注釈を削除する

さらに、手順とコード スニペットに従って、テキスト注釈をプログラムで削除することもできます。

  1. Document クラスのオブジェクトを作成し、ソース PDF ファイルを読み込みます。
  2. AnnotationSelector を使用して注釈をフィルタリングします。
  3. accept メソッドを呼び出して、ビジターがアノテーションを処理するのを受け入れます。
  4. getSelected メソッドを呼び出して、選択された Annotation オブジェクトのリストを取得します。
  5. delete メソッドを呼び出して、すべてのテキスト注釈をループし、注釈を削除します。
  6. save メソッドを呼び出してファイルを保存します。

次のコードをコピーしてメイン ファイルに貼り付けます。

// Document クラスのオブジェクトを作成し、ソース PDF ファイルを読み込みます。 
Document document = new Document(  "sample_textannot.pdf");
// AnnotationSelector を使用して注釈をフィルター処理する 
Page page = document.getPages().get_Item(1);
AnnotationSelector annotationSelector = new AnnotationSelector(
        new TextAnnotation(page, Rectangle.getTrivial()));
// accept メソッドを呼び出して、ビジターを受け入れてアノテーションを処理します 
page.accept(annotationSelector);
// getSelected メソッドを呼び出して、選択された Annotation オブジェクトのリストを取得します。 
List<Annotation> TextAnnotations = annotationSelector.getSelected();
// すべてのテキスト注釈をループします
for (Annotation fa : TextAnnotations) {
    // delete メソッドを呼び出してアノテーションを削除する 
}
// save メソッドを呼び出してファイルを保存する 
document.save ( "sample_textannot_del.pdf");

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

無料の一時ライセンス を利用して、評価制限なしで API を試すことができます。

まとめ

これで、このブログ記事は終わりです。プログラムで PDF ファイルに注釈を追加する方法を説明しました。さらに、この Java API for PDF を使用して、既存の PDF ドキュメントからテキスト注釈を読み取って削除する方法も学習しました。さらに、ドキュメント にアクセスして、API メソッドをさらに詳しく調べることができます。

さらに、Getting Started guide に従うことをお勧めします。

最後に、conholdate.com が新しいブログ記事を書いています。したがって、定期的な更新については、連絡を取り合ってください。

質問する

フォーラムで質問やクエリをお知らせください。

よくある質問

無料で PDF に注釈を付けることができますか?

この リンク にアクセスして、PDF 用の Java API によって公開されているコード スニペットと API メソッドを確認してください。

関連項目