Pdfbox-adding-text
PDFBox-テキストの追加
前の章では、PDFドキュメントにページを追加する方法について説明しました。 この章では、既存のPDFドキュメントにテキストを追加する方法について説明します。
既存のPDFドキュメントへのテキストの追加
PDFBoxライブラリを使用してドキュメントにコンテンツを追加できます。これにより、PDFDocumentのページにテキスト、画像、その他のタイプのコンテンツを挿入するために必要なメソッドを含むPDPageContentStreamというクラスが提供されます。
以下は、空のドキュメントを作成し、そのページにコンテンツを追加する手順です。
ステップ1:既存のドキュメントの読み込み
PDDocumentクラスの* load()*メソッドを使用して、既存のドキュメントをロードできます。 したがって、このクラスをインスタンス化し、以下に示すように必要なドキュメントをロードします。
ステップ2:必要なページを取得する
- getPage()*メソッドを使用して、ドキュメント内の必要なページを取得できます。 以下に示すように、このメソッドにインデックスを渡すことにより、必要なページのオブジェクトを取得します。
ステップ3:コンテンツストリームの準備
クラス PDPageContentStream のオブジェクトを使用して、さまざまな種類のデータ要素を挿入できます。 したがって、ドキュメントオブジェクトとページオブジェクトをこのクラスのコンストラクターに渡す必要があります。以下に示すように、前の手順で作成したこれら2つのオブジェクトを渡すことにより、このクラスをインスタンス化します。
ステップ4:テキストの開始
PDFドキュメントにテキストを挿入するときに、以下に示すようにPDPageContentStreamクラスのbeginText()およびendText()メソッドを使用して、テキストの開始点と終了点を指定できます。
したがって、以下に示すように* beginText()*メソッドを使用してテキストを開始します。
ステップ5:テキストの位置を設定する
- newLineAtOffset()*メソッドを使用して、ページ内のコンテンツストリームの位置を設定できます。
ステップ6:フォントの設定
以下に示すように、 PDPageContentStream クラスの* setFont()*メソッドを使用して、テキストのフォントを必要なスタイルに設定できます。 このメソッドには、フォントのタイプとサイズを渡す必要があります。
ステップ7:テキストの挿入
以下に示すように、 PDPageContentStream クラスの* ShowText()*メソッドを使用して、ページにテキストを挿入できます。 このメソッドは、文字列の形式で必要なテキストを受け入れます。
ステップ8:テキストの終了
テキストを挿入した後、以下に示すように、 PDPageContentStream クラスの* endText()*メソッドを使用してテキストを終了する必要があります。
ステップ9:PDPageContentStreamを閉じる
以下に示すように、* close()メソッドを使用して *PDPageContentStream オブジェクトを閉じます。
ステップ10:ドキュメントを保存する
必要なコンテンツを追加したら、次のコードブロックに示すように、 PDDocument クラスの* save()*メソッドを使用してPDFドキュメントを保存します。
ステップ11:ドキュメントを閉じる
最後に、以下に示すように PDDocument クラスの* close()*メソッドを使用してドキュメントを閉じます。
例
この例は、ドキュメントのページにコンテンツを追加する方法を示しています。 ここでは、パス C:/PdfBox_Examples/ に保存されている my_doc.pdf という名前のPDFドキュメントをロードするJavaプログラムを作成し、それにテキストを追加します。 このコードを AddingContent.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
実行時に、上記のプログラムは指定されたテキストをドキュメントに追加し、次のメッセージを表示します。
指定されたパスでPDFドキュメント new.pdf を検証すると、以下に示すように、指定されたコンテンツがドキュメントに追加されていることがわかります。