iText-マークアップアノテーション

この章では、iTextライブラリを使用してPDFドキュメントにテキストマークアップ注釈を追加する方法を説明します。

PDFでのマークアップ注釈の作成

をインスタンス化することにより、空のPDFドキュメントを作成できます。 Documentクラス。このクラスをインスタンス化するときに、合格する必要がありますPdfDocumentコンストラクターへのパラメーターとしてのオブジェクト。PDFドキュメントでテキスト注釈を使用するには、次のオブジェクトを作成する必要があります。PdfTextAnnotation クラスにこれを追加します PdfPage

以下は、PDFドキュメントでテキスト注釈を使用する手順です。

ステップ1:PdfWriterオブジェクトを作成する

ザ・ PdfWriterクラスはPDFのDocWriterを表します。このクラスはパッケージに属していますcom.itextpdf.kernel.pdf。このクラスのコンストラクターは、PDFが作成されるファイルのパスを表す文字列を受け入れます。

以下に示すように、文字列値(PDFを作成する必要があるパスを表す)をコンストラクターに渡すことにより、PdfWriterクラスをインスタンス化します。

// Creating a PdfWriter 
String dest = "C:/itextExamples/markupAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

このタイプのオブジェクトがPdfDocument(クラス)に渡されると、このドキュメントに追加されたすべての要素が指定されたファイルに書き込まれます。

ステップ2:PdfDocumentオブジェクトを作成する

ザ・ PdfDocumentclassは、iTextでPDFドキュメントを表すクラスです。このクラスはパッケージに属していますcom.itextpdf.kernel.pdf。このクラスを(書き込みモードで)インスタンス化するには、クラスのオブジェクトを渡す必要がありますPdfWriter そのコンストラクタに。

以下に示すように、PdfWriterオブジェクトをコンストラクターに渡して、PdfDocumentクラスをインスタンス化します。

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

PdfDocumentオブジェクトが作成されると、そのクラスによって提供されるそれぞれのメソッドを使用して、ページ、フォント、添付ファイル、イベントハンドラーなどのさまざまな要素を追加できます。

ステップ3:Documentオブジェクトを作成する

ザ・ Document パッケージのクラス com.itextpdf.layoutは、自給自足のPDFを作成する際のルート要素です。このクラスのコンストラクターの1つは、クラスのオブジェクトを受け入れますPdfDocument

インスタンス化する Document クラスのオブジェクトを渡すことによってクラス PdfDocument 以下に示すように、前の手順で作成しました。

// Creating a Document   
Document document = new Document(pdfDoc);

ステップ4:PdfAnnotationオブジェクトを作成する

ザ・ PdfAnnotation パッケージのクラス com.itextpdf.kernel.pdf.annot すべての注釈のスーパークラスを表します。

その派生クラスの中で、 PdfTextMarkupAnnotationクラスは、テキストマークアップ注釈を表します。以下に示すように、このクラスのオブジェクトを作成します。

// Creating a PdfTextMarkupAnnotation object 
Rectangle rect = new Rectangle(105, 790, 64, 10); 
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation = PdfTextMarkupAnnotation.createHighLight(rect,floatArray);

ステップ5:注釈の色を設定する

を使用して注釈に色を設定します setColor() の方法 PdfAnnotationクラス。このメソッドに、を表すカラーオブジェクトを渡しますcolor パラメータとしての注釈の。

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

ステップ6:注釈のタイトルと内容を設定する

を使用して注釈のタイトルと内容を設定します setTitle() そして setContents() の方法 PdfAnnotation それぞれクラス。

// Setting title to the annotation 
annotation.setTitle(new PdfString("Hello!"));        

// Setting contents to the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

ステップ7:ページに注釈を追加する

新しいを作成します PdfPage を使用するクラス addNewPage() の方法 PdfDocument クラスを作成し、上記で作成したアノテーションを使用して追加します addAnnotation() 以下に示すように、PdfPageクラスのメソッド。

// Creating a new Pdfpage 
PdfPage pdfPage = pdfDoc.addNewPage();        

// Adding annotation to a page in a PDF 
pdfPage.addAnnotation(annotation);

ステップ8:ドキュメントを閉じる

を使用してドキュメントを閉じます close() の方法 Document 以下に示すように、クラス。

// Closing the document 
document.close();

次のJavaプログラムは、iTextライブラリを使用してPDFドキュメントにテキストマークアップ注釈を追加する方法を示しています。名前の付いたPDFドキュメントを作成しますmarkupAnnotation.pdf、テキストマークアップ注釈を追加し、パスに保存します C:/itextExamples/

このコードを名前のファイルに保存します MarkupAnnotation.java

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfTextMarkupAnnotation;
import com.itextpdf.layout.Document;  

public class MarkupAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples/markupAnnotation.pdf";        
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                      
      
      // Creating a PdfTextMarkupAnnotation object       
      Rectangle rect = new Rectangle(105, 790, 64, 10);       
      float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
      PdfAnnotation annotation = 
         PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
      
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
      
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("Hello!"));
      
      // Setting contents to the annotation       
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
      
      // Creating a new Pdfpage
      PdfPage pdfPage = pdfDoc.addNewPage();
      
      // Adding annotation to a page in a PDF       
      pdfPage.addAnnotation(annotation);
      
      // Closing the document
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }     
}

次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します-

javac MarkupAnnotation.java 
java MarkupAnnotation

上記のプログラムを実行すると、次のメッセージを表示するPDFドキュメントが作成されます。

Annotation added successfully

指定したパスを確認すると、作成したPDFドキュメントが以下のように表示されます。