iText-円を描く
この章では、iTextライブラリを使用してPDFドキュメントに円を描く方法を説明します。
PDFに円を描く
をインスタンス化することにより、空のPDFドキュメントを作成できます。 Documentクラス。このクラスをインスタンス化するときに、合格する必要がありますPdfDocument コンストラクターへのパラメーターとしてのオブジェクト。
PdfDocumentに円を描くには、 PdfCanvas パッケージのクラス com.itextpdf.kernel.pdf.canvasを呼び出して circle() このクラスのメソッド。
以下は、PDFドキュメントに円を描く手順です。
ステップ1:PdfWriterオブジェクトを作成する
ザ・ PdfWriterクラスはPDFのDocWriterを表します。このクラスはパッケージに属していますcom.itextpdf.kernel.pdf。このクラスのコンストラクターは、PDFが作成されるファイルのパスを表す文字列を受け入れます。
以下に示すように、文字列値(PDFを作成する必要があるパスを表す)をコンストラクターに渡すことにより、PdfWriterクラスをインスタンス化します。
// Creating a PdfWriter
String dest = "C:/itextExamples/drawingCircle.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色を設定する
を使用して円の色を設定します setColor() の方法 Canvas 以下に示すように、クラス。
// Setting color to the circle
Color color = Color.GREEN;
canvas.setColor(color, true);
ステップ6:円を描く
を呼び出して円を描く circle() の方法 Canvas、以下に示すように。
// creating a circle
canvas.circle(300, 400, 200);
ステップ7:ドキュメントを閉じる
を使用してドキュメントを閉じます close() の方法 Document 以下に示すように、クラス。
// Closing the document
document.close();
例
次のJavaプログラムは、iTextライブラリを使用してPDFドキュメントに円を描く方法を示しています。名前の付いたPDFドキュメントを作成しますdrawingCircle.pdf、その中に円を描き、パスに保存します C:/itextExamples/
このコードを名前のファイルに保存します DrawingCircle.java。
import com.itextpdf.kernel.color.Color;
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 DrawingCircle {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/drawingCircle.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);
// Setting color to the circle
Color color = Color.GREEN;
canvas.setColor(color, true);
// creating a circle
canvas.circle(300, 400, 200);
// Filling the circle
canvas.fill();
// Closing the document
doc.close();
System.out.println("Object drawn on pdf successfully");
}
}
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
javac DrawingCircle.java
java DrawingCircle
上記のプログラムを実行すると、次のメッセージを表示するPDFドキュメントが作成されます。
Object drawn on pdf successfully
指定されたパスを確認すると、以下に示すように、作成されたPDFドキュメントを見つけることができます。