複数の添付ファイルと異なるファイルバージョンを持つ長い電子メールスレッドでドキュメントの内容とフィードバックについて話し合っていた時期がありました。これで、注釈を使用して、メッセージと返信でドキュメントをマークアップして送信できます。この記事では、アプリケーションを使用してJavaでPDFドキュメントにプログラムで注釈を付ける方法を学習します。さらに、同じJavaAPIを使用してPDFファイルから注釈を削除する方法を説明します。

以下は、以下で簡単に説明するトピックです。

*PDFの注釈を処理するJavaAPI *JavaでPDFに注釈を追加 * PDFの矢印注釈 * PDFの長方形注釈 * PDFの楕円または楕円形の注釈 * PDFでの距離注釈 *JavaのPDFから注釈を削除

PDFアノテーターJavaAPI

Javaアプリケーション内でドキュメントと画像の注釈を処理するために、GroupDocsはGroupDocs.Annotation forJavaを提供しています。 APIを使用すると、ワードプロセッシングドキュメント、スプレッドシートプレゼンテーション画像メールメッセージ、Visio から注釈を追加、削除、抽出できます。 図面、一部の** AutoCAD 、およびDICOMなどのデジタル画像形式**。さらに、APIではPDFファイルに注釈を付けることができます。 注釈用にサポートされているドキュメント形式の長いリストについては、ドキュメントを参照してください。

###ダウンロードして構成する

ダウンロードからアノテーションライブラリを取得するか、MavenベースのJavaアプリケーションに次のpom.xml構成を追加して、この記事の例とGitHubで利用可能な他の多くの例を試してください。詳細については、APIリファレンスをご覧ください。

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-annotation</artifactId>
        <version>20.2</version> 
</dependency>

JavaでPDFに注釈を追加する

すぐにジャンプして、PDFドキュメントにさまざまな種類の注釈を追加してみましょう。アノテーションにはさまざまな種類があるため、この記事ですべてを網羅しているわけではありません。それらについて言及するだけで、各注釈について個別に学ぶことができます。

*面積/長方形の注釈 *矢印

  • 距離 *楕円 *ハイライト

  • リンク

  • 点 *ポリライン

  • 置換 *リソースの編集

  • 三振

  • テキストフィールド *テキスト編集 *下線 *透かし

これらのいくつかをPDFドキュメントに追加してみましょう。

Javaを使用してPDFに矢印注釈を追加する

以下は、PDFドキュメントに矢印注釈を追加する手順です。

矢印注釈

*Annotatorクラスを使用してPDFドキュメントをロードします。 *ArrowAnnotationクラスを使用して矢印注釈を初期化します。 *ArrowAnnotationのsetBoxメソッドを使用して、矢印の位置とサイズを設定します。 *作成した矢印注釈をAnnotatorオブジェクトに追加します。

  • saveメソッドを使用してパスを指定することにより、注釈付きPDFを保存します。

次のコードサンプルは、Javaを使用してPDFドキュメントに矢印注釈を追加する方法を示しています。

// Javaを使用してPDFに矢印注釈を追加
final Annotator annotator = new Annotator("document.pdf");
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(100, 100, 100, 100)); // (x, y, width, height)
annotator.add(arrow);
annotator.save("path/annotated-with-arrow.pdf");

Javaを使用して長方形または領域の注釈をPDFに挿入する

ドキュメントに追加するときに、任意の注釈をカスタマイズできます。以下は、少しカスタマイズして、長方形または領域の注釈をPDFドキュメントに追加する手順です。これはArrowアノテーションの追加に似ていますが、ArrowAnnotationの代わりにAreaAnnotationクラスを使用します。

*Annotatorクラスを使用してPDFドキュメントをロードします。 *AreaAnnotationクラスを使用して長方形の注釈を初期化します。 *AreaAnnotationのsetBoxメソッドを使用して、長方形の位置とサイズを設定します。

  • ** color background opacity style pen width 、さらには messages **、timeなどの他のプロパティを設定します。 *作成した長方形の注釈をAnnotatorオブジェクトに追加します。
  • saveメソッドを使用してパスを指定することにより、注釈付きPDFを保存します。
長方形または領域の注釈

次のコードサンプルは、Javaを使用して長方形/領域の注釈をPDFドキュメントに追加する方法を示しています。

// Javaを使用してPDFにエリア注釈または長方形注釈を追加する
final Annotator annotator = new Annotator("document.pdf");
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
// ドキュメントに追加
annotator.add(area);
annotator.save("path/annotated-with-rectangle.pdf");

Javaを使用してPDFに楕円または楕円の注釈を追加する

以下は、PDFドキュメントに楕円形の注釈または楕円形の注釈を追加する手順です。

楕円または楕円形の注釈

*Annotatorクラスを使用してPDFドキュメントをロードします。 *EllipseAnnotationクラスを使用して楕円注釈を初期化します。 *EllipseAnnotationのsetBoxメソッドを使用して、楕円の位置とサイズを設定します。 *作成した楕円注釈をAnnotatorオブジェクトに追加します。

  • saveメソッドを使用してパスを指定することにより、注釈付きPDFを保存します。

次のコードサンプルは、Javaを使用してPDFドキュメントに楕円形または楕円形の注釈を追加する方法を示しています。

// Javaを使用してPDFに楕円または楕円の注釈を追加する
final Annotator annotator = new Annotator("document.pdf");
// 楕円形または楕円形の注釈
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
// ドキュメントに追加
annotator.add(area);
annotator.save("path/annotated-with-ellipse.pdf");

Javaを使用してPDFに距離注釈を挿入

距離注釈

距離注釈を追加して、2点間の距離を表示することもできます。以下は、PDFドキュメントに距離注釈を追加する手順です。

*Annotatorクラスを使用してPDFドキュメントをロードします。 *DistanceAnnotationクラスを使用して距離注釈を初期化します。 *DistanceAnnotationのsetBoxメソッドを使用して、注釈のサイズと位置を設定します。 *作成した距離注釈をAnnotatorオブジェクトに追加します。

  • saveメソッドを使用してパスを指定することにより、注釈付きPDFを保存します。

次のコードサンプルは、Javaを使用してPDFドキュメントに距離注釈を追加する方法を示しています。

// Javaを使用した距離アノテーション
final Annotator annotator = new Annotator("document.pdf");
// 距離注釈
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
// ドキュメントに追加
annotator.add(area);
annotator.save("path/annotated-with-distance.pdf");

完全なコード

要約すると、これがJavaコードであり、出力には、前述のJavaコードを使用して追加されたすべての注釈メッセージ応答が表示されます。

PDFに注釈を追加

次のコードは、矢印、長方形、楕円、距離の注釈、メッセージ、および返信をPDFファイルに追加します。

// Javaを使用してPDFに複数の注釈を追加する
// Javaを使用したメッセージと返信を含むPDFに矢印、領域、楕円(楕円) 、距離の注釈を追加する
final Annotator annotator = new Annotator(Constants.INPUT);
// 返信の設定
Reply reply1 = new Reply();
reply1.setComment("Please look in to these issues.");
reply1.setRepliedOn(Calendar.getInstance().getTime());

Reply reply2 = new Reply();
reply2.setComment("Change Description");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply3 = new Reply();
reply2.setComment("On-Premises APIs");
reply2.setRepliedOn(Calendar.getInstance().getTime());

Reply reply4 = new Reply();
reply2.setComment("Add images as well.");
reply2.setRepliedOn(Calendar.getInstance().getTime());

java.util.List<Reply> replies = new ArrayList<Reply>();
replies.add(reply1);
replies.add(reply2);
replies.add(reply3);
replies.add(reply4);
// 矢印注釈=================================
ArrowAnnotation arrow = new ArrowAnnotation();
arrow.setBox(new Rectangle(560, 250, 60, -60));
arrow.setCreatedOn(Calendar.getInstance().getTime());
arrow.setMessage("This image is little upwards.");
arrow.setOpacity(0.7);
arrow.setPenColor(-3407872);
arrow.setPenWidth((byte) 2);
arrow.setReplies(replies.subList(0, 1));
// エリア注釈===================================
AreaAnnotation area = new AreaAnnotation();
area.setBox(new Rectangle(50, 100, 500, 100));
area.setCreatedOn(Calendar.getInstance().getTime());
area.setMessage("Annotate documents and images.");
area.setOpacity(0.7);
area.setPenColor(-13076963);
area.setPenStyle(PenStyle.Dash);
area.setPenWidth((byte) 3);
area.setReplies(replies.subList(1, 2));
// 楕円形または楕円形の注釈========================
EllipseAnnotation ellipse = new EllipseAnnotation();
ellipse.setBox(new Rectangle(275, 505, 300, 80));
ellipse.setCreatedOn(Calendar.getInstance().getTime());
ellipse.setMessage("Shows all the available Annotation APIs.");
ellipse.setOpacity(0.7);
ellipse.setPenColor(-16034924);
ellipse.setPenStyle(PenStyle.Dot);
ellipse.setPenWidth((byte) 3);
ellipse.setReplies(replies.subList(2, 3));
// 距離注釈===============================
DistanceAnnotation distance = new DistanceAnnotation();
distance.setBox(new Rectangle(775, 235, 0, 150));
distance.setCreatedOn(Calendar.getInstance().getTime());
distance.setMessage("This is the heading area");
distance.setOpacity(0.7);
distance.setPenColor(-21197);
distance.setPenStyle(PenStyle.Solid);
distance.setPenWidth((byte) 1);
distance.setReplies(replies.subList(3, 4));
// 注釈の追加=================================
annotator.add(arrow);
annotator.add(area);
annotator.add(ellipse);
annotator.add(distance);
// 注釈付きPDFの保存===============================
annotator.save(outputPath);
annotator.dispose();

JavaでPDFから注釈を削除する

次の手順は、JavaでPDFファイルからすべての注釈を削除する方法を示しています。

*Annotatorクラスを使用してPDFドキュメントをロードします。 *SaveOptionsクラスを使用して保存オプションを初期化します。 *注釈タイプを[なし]に設定します。

  • saveメソッドを使用してパスを指定することにより、すべての注釈を削除したPDFファイルを保存します。

次のJavaコードは、PDFファイルから注釈を削除します。

// Javaを使用してPDFドキュメントからすべての注釈を削除します
final Annotator annotator = new Annotator("document.pdf");
SaveOptions saveOptions = new SaveOptions();
saveOptions.setAnnotationTypes(AnnotationType.None);
// 注釈を付けずにPDFを保存します。
annotator.save("path/annotations-removed.pdf", saveOptions);
annotator.dispose();

結論

つまり、Javaアプリケーション内でPDFに注釈を追加する方法を学びました。さらに、PDFファイルからすべての注釈を削除する方法を見てきました。これで、独自のドキュメントアノテーターJavaアプリケーションを作成できる自信があります。 GroupDocs.AnnotationforJavaを使用してさまざまなタイプの注釈をサポートできます。

詳細、オプション、および例については、ドキュメントおよびGitHubリポジトリにアクセスしてください。さらに質問がある場合は、フォーラムのサポートにお問い合わせください。

関連項目

*Javaの画像に透かしを追加