Pdfbox-adding-multiple-lines
PDFBox-複数行の追加
前の章の例では、PDFのページにテキストを追加する方法について説明しましたが、このプログラムでは、1行に収まるテキストのみを追加できます。 さらにコンテンツを追加しようとすると、行スペースを超えるテキストはすべて表示されません。
たとえば、前の章で上記のプログラムを実行し、次の文字列を渡すと、その一部のみが表示されます。
前の章の例の string text を上記の文字列に置き換えて実行します。 実行すると、次の出力が表示されます。
出力を注意深く観察すると、文字列の一部のみが表示されていることがわかります。
PDFに複数の行を追加するには、* setLeading()メソッドを使用して行送りを設定し、各行の終了後に newline()*メソッドを使用して新しい行にシフトする必要があります。
ステップ
以下は、空のドキュメントを作成し、そのページにコンテンツを追加する手順です。
ステップ1:既存のドキュメントの読み込み
PDDocumentクラスの* load()*メソッドを使用して、既存のドキュメントをロードできます。 したがって、このクラスをインスタンス化し、以下に示すように必要なドキュメントをロードします。
ステップ2:必要なページを取得する
- getPage()*メソッドを使用して、ドキュメント内の必要なページを取得できます。 以下に示すように、このメソッドにインデックスを渡すことにより、必要なページのオブジェクトを取得します。
ステップ3:コンテンツストリームの準備
ステップ4:テキストの開始
PDFドキュメントにテキストを挿入するときに、以下に示すように、 PDPageContentStream クラスの* beginText()および endText()*メソッドを使用して、テキストの開始点と終了点を指定できます。
したがって、以下に示すように* beginText()*メソッドを使用してテキストを開始します。
ステップ5:テキストの位置を設定する
- newLineAtOffset()*メソッドを使用して、ページ内のコンテンツストリームの位置を設定できます。
ステップ6:フォントの設定
フォントのタイプとサイズを渡す必要があるこのメソッドに以下に示すように、 PDPageContentStream クラスの* setFont()*メソッドを使用して、テキストのフォントを必要なスタイルに設定できます。
ステップ7:テキストの先頭を設定する
以下に示すように、* setLeading()*メソッドを使用してテキストの先頭を設定できます。
ステップ8:newline()を使用して複数の文字列を挿入する
ステップ9:テキストの終了
テキストを挿入した後、以下に示すように、 PDPageContentStream クラスの* endText()*メソッドを使用してテキストを終了する必要があります。
ステップ10:PDPageContentStreamを閉じる
以下に示すように、* close()メソッドを使用して *PDPageContentStream オブジェクトを閉じます。
ステップ11:ドキュメントの保存
必要なコンテンツを追加したら、次のコードブロックに示すように、 PDDocument クラスの* save()*メソッドを使用してPDFドキュメントを保存します。
ステップ12:ドキュメントを閉じる
最後に、以下に示すように PDDocument クラスの* close()*メソッドを使用してドキュメントを閉じます。
例
この例は、PDFBoxを使用してPDFに複数の行を追加する方法を示しています。 このプログラムを* AddMultipleLines.java。*という名前のファイルに保存します
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
実行時に、上記のプログラムは指定されたテキストをドキュメントに追加し、次のメッセージを表示します。
指定したパスでPDFドキュメント new.pdf を検証すると、以下に示すように、指定されたコンテンツが複数行でドキュメントに追加されていることがわかります。