Itext-adding-image-to-table
iText-画像をテーブルに追加する
この章では、iTextライブラリを使用してPDFドキュメントの表に画像を追加する方法を説明します。
テーブルに画像を追加する
このテーブルに画像を追加するには、 Cell クラスをインスタンス化し、追加する必要のある画像のオブジェクトを作成し、 add メソッドを使用して画像を cell オブジェクトに追加する必要があります。 Cell クラス。
以下は、テーブルのセルに画像を挿入する手順です。
ステップ1:PdfWriterオブジェクトの作成
以下に示すように、PDFを作成する必要があるパスを表す文字列値をコンストラクターに渡すことにより、PdfWriterクラスをインスタンス化します。
このタイプのオブジェクトがPdfDocument(クラス)に渡されると、このドキュメントに追加されたすべての要素が指定されたファイルに書き込まれます。
ステップ2:PdfDocumentオブジェクトの作成
以下に示すように、上記で作成したPdfWriterオブジェクトをそのコンストラクターに渡すことにより、 PdfDocument クラスをインスタンス化します。
PdfDocumentオブジェクトを作成したら、そのクラスが提供するそれぞれのメソッドを使用して、ページ、フォント、添付ファイル、イベントハンドラーなどのさまざまな要素を追加できます。
ステップ3:Documentオブジェクトを作成する
パッケージ com.itextpdf.layout の Document クラスは、自給自足のPDFを作成する際のルート要素です。 このクラスのコンストラクターの1つは、 PdfDocument クラスのオブジェクトを受け入れます。
以下に示すように、前の手順で作成した PdfDocument クラスのオブジェクトを渡すことにより、 Document クラスをインスタンス化します。
ステップ4:テーブルオブジェクトの作成
以下に示すように Table クラスをインスタンス化します。
ステップ5:セルの作成
以下に示すように、パッケージ com.itextpdf.layout の Cell クラスをインスタンス化して、 cell オブジェクトを作成します。
ステップ6:イメージを作成する
ここで、 com.itextpdf.layout.element パッケージの Image クラスをインスタンス化します。 インスタンス化中に、上記で作成した ImageData オブジェクトを、以下に示すように、コンストラクターにパラメーターとして渡します。
以下に示すように、セルクラスの* add()メソッドを使用して、セルに *image オブジェクトを追加します。
ステップ7:テーブルにセルを追加する
最後に、このセルをテーブルに追加するには、以下に示すように、 Table クラスの* addCell()メソッドを呼び出し、 *cell オブジェクトをパラメーターとしてこのメソッドに渡します。
ステップ8:文書に表を追加する
以下に示すように、 Document クラスの* add()メソッドを使用して、前の手順で作成した *table オブジェクトを追加します。
ステップ9:ドキュメントを閉じる
以下に示すように、 Document クラスの* close()*メソッドを使用してドキュメントを閉じます。
例
次のJavaプログラムは、iTextライブラリを使用して、PDF文書の表のセルに画像を追加する方法を示しています。 addingImage.pdf という名前のPDFドキュメントを作成し、それにテーブルを追加し、そのセルの1つに画像(javafxLogo.jpg)を挿入し、パス C:/itextExamples/ に保存します。
このコードを AddingImageToTable.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します-
実行時に、上記のプログラムはPDFドキュメントを作成し、次のメッセージを表示します。
指定したパスを確認すると、以下に示すように、作成されたPDFドキュメントを見つけることができます。