Itext-adding-areabreak
iText-AreaBreakの追加
この章では、iTextライブラリを使用してAreaBreakでPDFドキュメントを作成する方法を説明します。
AreaBreakの作成
*Document* クラスをインスタンス化することにより、空のPDFドキュメントを作成できます。 このクラスをインスタンス化する際、 *PdfDocument* オブジェクトをパラメーターとしてコンストラクターに渡す必要があります。 次に、ドキュメントにエリアブレークを追加するには、 *AreaBreak* クラスをインスタンス化し、* add()*メソッドを使用してこのオブジェクトをドキュメントに*追加*する必要があります。
以下は、AreaBreakで空のPDFドキュメントを作成する手順です。
ステップ1:PdfWriterオブジェクトの作成
*PdfWriter* クラスはPDFのDoc Writerを表し、このクラスはパッケージ *com.itextpdf.kernel.pdf* に属します。 このクラスのコンストラクターは、PDFが作成されるファイルのパスを表す文字列を受け入れます。
以下に示すように、PDFを作成する必要があるパスを表す文字列値をコンストラクターに渡すことにより、PdfWriterクラスをインスタンス化します。
//Creating a PdfWriter
String dest = "C:/itextExamples/addingAreaBreak.pdf";
PdfWriter writer = new PdfWriter(dest);
このタイプのオブジェクトがPdfDocument(クラス)に渡されると、このドキュメントに追加されたすべての要素が指定されたファイルに書き込まれます。
ステップ2:PdfDocumentオブジェクトの作成
*PdfDocument* クラスは、iTextでPDFドキュメントを表すクラスです。このクラスは、パッケージ *com.itextpdf.kernel.pdf* に属します。 このクラスを(書き込みモードで)インスタンス化するには、クラス *PdfWriter* のオブジェクトをコンストラクターに渡す必要があります。
以下に示すように、上記で作成したPdfWriterオブジェクトをコンストラクターに渡すことにより、PdfDocumentクラスをインスタンス化します。
//Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
PdfDocumentオブジェクトを作成したら、そのクラスが提供するそれぞれのメソッドを使用して、ページ、フォント、添付ファイル、イベントハンドラーなどのさまざまな要素を追加できます。
ステップ3:ドキュメントオブジェクトの作成
パッケージ com.itextpdf.layout の Document クラスは、自給自足のPDFを作成する際のルート要素です。 このクラスのコンストラクターの1つは、クラスPdfDocumentのオブジェクトを受け入れます。
以下に示すように、前の手順で作成した PdfDocument クラスのオブジェクトを渡すことにより、 Document クラスをインスタンス化します。
//Creating a Document
Document document = new Document(pdfDoc);
ステップ4:Area Breakオブジェクトの作成
*AreaBreak* クラスは、パッケージ *com.itextpdf.layout.element* に属します。 このクラスをインスタンス化すると、現在のコンテキスト領域が終了し、同じサイズの新しいコンテキスト領域が作成されます(デフォルトのコンストラクタを使用する場合)。
以下に示すように、 AreaBreak クラスをインスタンス化します。
//Creating an Area Break
AreaBreak aB = new AreaBreak();
ステップ5:AreaBreakを追加する
以下に示すように、Documentクラスの* add()メソッドを使用して、前の手順で作成した *areabreak オブジェクトを追加します。
//Adding area break to the PDF
document.add(aB);
ステップ6:ドキュメントを閉じる
以下に示すように、 Document クラスの* close()*メソッドを使用してドキュメントを閉じます。
//Closing the document
document.close();
例
次のJavaプログラムは、iTextライブラリを使用してAreaBreakでPDFドキュメントを作成する方法を示しています。 addingAreaBreak.pdf という名前のPDFドキュメントを作成し、それに areabreak を追加して、パス C:/itextExamples/ に保存します。
このコードを AddingAreaBreak.java という名前のファイルに保存します。
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.AreaBreak;
public class AddingAreaBreak {
public static void main(String args[]) throws Exception {
//Creating a PdfWriter
String dest = "C:/itextExamples/addingAreaBreak.pdf";
PdfWriter writer = new PdfWriter(dest);
//Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
//Creating a Document by passing PdfDocument object to its constructor
Document document = new Document(pdf);
//Creating an Area Break
AreaBreak aB = new AreaBreak();
//Adding area break to the PDF
document.add(aB);
//Closing the document
document.close();
System.out.println("Pdf created");
}
}
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します-
javac AddingAreaBreak.java
java AddingAreaBreak
実行時に、上記のプログラムはPDFドキュメントを作成し、次のメッセージを表示します。
Pdf Created
指定したパスを確認すると、以下に示すように、作成されたPDFドキュメントを見つけることができます。