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/lineAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

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

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

ザ・ PdfDocumentclassは、iTextでPDFDocumentを表すクラスです。このクラスはパッケージに属しています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 は、すべての注釈のスーパークラスです。

その派生クラスの中で、 PdfLineAnnotationクラスは行の注釈を表します。以下に示すように、このクラスのオブジェクトを作成します。

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation annotation = new PdfLineAnnotation(rect);

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

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

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

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

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

// Setting title to the PdfLineAnnotation 
annotation.setTitle(new PdfString("iText"));        

// Setting contents of the PdfLineAnnotation 
annotation.setContents("Hi welcome to Tutorialspoint");

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

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

// Creating a new page 
PdfPage page = pdf.addNewPage();

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

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

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

// Closing the document 
document.close();

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

このコードを名前の付いたファイルに保存します LineAnnotation.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.PdfLineAnnotation; 
import com.itextpdf.layout.Document;  

public class LineAnnotation {
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/lineAnnotations.pdf";       
      PdfWriter writer = new PdfWriter(dest);               

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

      // Creating a Document        
      Document document = new Document(pdf);              
      
      // Creating a PdfPage       
      PdfPage page = pdf.addNewPage();              

      // creating PdfLineAnnotation object       
      Rectangle rect = new Rectangle(0, 0);
      float[] floatArray  = new float[]{
         20, 790, page.getPageSize().getWidth() - 20, 790
      };
      PdfAnnotation annotation = new PdfLineAnnotation(rect, floatArray);              
      
      // Setting color of the PdfLineAnnotation       
      annotation.setColor(Color.BLUE);              
      
      // Setting title to the PdfLineAnnotation       
      annotation.setTitle(new PdfString("iText"));              
      
      // Setting contents of the PdfLineAnnotation       
      annotation.setContents("Hi welcome to Tutorialspoint");              
      
      // Adding annotation to the page       
      page.addAnnotation(annotation);               
      
      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");   
   } 
}

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

javac LineAnnotation.java 
java LineAnnotation

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

Annotation added successfully

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