iText-線を引く

この章では、iTextライブラリを使用してPDFドキュメントに線を引く方法を説明します。

PDFに線を引く

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

PdfDocumentに線を引くには、 PdfCanvas パッケージのクラス com.itextpdf.kernel.pdf.canvas を使用して線を作成します moveTo() そして lineTO() このクラスのメソッド。

以下は、PDFドキュメントに線を引く手順です。

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

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

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

// Creating a PdfWriter 
String dest = "C:/itextExamples/drawingLine.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:PdfCanvasオブジェクトを作成する

新しいを作成します PdfPage を使用するクラス addNewPage() の方法 PdfDocument クラス。

インスタンス化する PdfCanvas パッケージのオブジェクト com.itextpdf.kernel.pdf.canvas 上記で作成したものを渡すことによって PdfPage 以下に示すように、このクラスのコンストラクターに対するオブジェクト。

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

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

ステップ5:線を引く

を使用して線の始点を設定します moveTO() の方法 Canvas 以下に示すように、クラス。

// Initial point of the line 
canvas.moveTo(100, 300);

次に、このポイントから別のポイントに線を引きます。 lineTo() 以下に示すように、メソッド。

// Drawing the line 
canvas.lineTo(500, 300);

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

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

// Closing the document 
document.close();

次のJavaプログラムは、iTextライブラリを使用してPDFドキュメントに線を引く方法を示しています。名前の付いたPDFドキュメントを作成しますdrawingLine.pdf、その中に円弧を描き、パスに保存します C:/itextExamples/

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

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingLine {     
   public static void main(String args[]) throws Exception {            
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingLine.pdf";             
      PdfWriter writer = new PdfWriter(dest);           
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                
      
      // Creating a new page       
      PdfPage pdfPage = pdfDoc.addNewPage();               
      
      // Creating a PdfCanvas object       
      PdfCanvas canvas = new PdfCanvas(pdfPage);              
      
      // Initial point of the line       
      canvas.moveTo(100, 300);              
      
      // Drawing the line       
      canvas.lineTo(500, 300);           
      
      // Closing the path stroke       
      canvas.closePathStroke();              
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Object drawn on pdf successfully");             
   }     
}

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

javac DrawingLine.java 
java DrawingLine

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

Object drawn on pdf successfully

指定されたパスを確認すると、以下に示すように、作成されたPDFドキュメントを見つけることができます。