Pdfbox-adding-rectangles

提供:Dev Guides
移動先:案内検索

PDFBox-四角形の追加

この章では、PDFドキュメントのページにカラーボックスを作成する方法を説明します。

PDFドキュメントでのボックスの作成

*PDPageContentStream* クラスの* addRect()*メソッドを使用して、PDFページに長方形のボックスを追加できます。

以下は、PDFドキュメントのページに長方形の形状を作成する手順です。

ステップ1:既存のPDFドキュメントの読み込み

*PDDocument* クラスの静的メソッド* load()*を使用して、既存のPDFドキュメントを読み込みます。 このメソッドは、以下に示すようにクラス名を使用して呼び出すことができる静的メソッドであるため、パラメーターとしてファイルオブジェクトを受け入れます。
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);

ステップ2:ページオブジェクトの取得

*PDDocument* クラスの* getPage()*メソッドを使用して、長方形を追加する必要なページの *PDPage* オブジェクトを取得する必要があります。 このメソッドには、長方形を追加するページのインデックスを渡す必要があります。
PDPage page = document.getPage(0);

ステップ3:コンテンツストリームの準備

*PDPageContentStream* という名前のクラスのオブジェクトを使用して、さまざまな種類のデータ要素を挿入できます。 したがって、ドキュメントオブジェクトとページオブジェクトをこのクラスのコンストラクターに渡す必要があります。以下に示すように、前の手順で作成したこれら2つのオブジェクトを渡すことにより、このクラスをインスタンス化します。
PDPageContentStream contentStream = new PDPageContentStream(document, page);

ステップ4:ストロークなしの色を設定する

クラス PDPageContentStream の* setNonStrokingColor()*メソッドを使用して、非ストローク色を長方形に設定できます。 このメソッドには、以下に示すように、必要な色をパラメーターとして渡す必要があります。

contentStream.setNonStrokingColor(Color.DARK_GRAY);

ステップ5:長方形を描く

  • addRect()*メソッドを使用して、必要な寸法で長方形を描きます。 このメソッドには、以下に示すように追加する長方形の寸法を渡す必要があります。
contentStream.addRect(200, 650, 100, 100);

ステップ6:四角形を塗りつぶす

*PDPageContentStream* クラスの* fill()*メソッドは、以下に示すように、指定されたディメンション間のパスを必要な色で塗りつぶします。
contentStream.fill();

ステップ7:ドキュメントを閉じる

最後に、以下に示すように PDDocument クラスの* close()*メソッドを使用してドキュメントを閉じます。

document.close();

パス C:\ PdfBox_Examples \blankpage.pdf という名前のPDFドキュメントがあり、以下に示すように単一の空白ページが含まれているとします。

空白ページ

この例では、PDFドキュメントで長方形を作成/挿入する方法を示します。 ここでは、空のPDFにボックスを作成します。 このコードを AddRectangles.java として保存します。

import java.awt.Color;
import java.io.File;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
public class ShowColorBoxes {

   public static void main(String args[]) throws Exception {

     //Loading an existing document
      File file = new File("C:/PdfBox_Examples/BlankPage.pdf");
      PDDocument document = PDDocument.load(file);

     //Retrieving a page of the PDF Document
      PDPage page = document.getPage(0);

     //Instantiating the PDPageContentStream class
      PDPageContentStream contentStream = new PDPageContentStream(document, page);

     //Setting the non stroking color
      contentStream.setNonStrokingColor(Color.DARK_GRAY);

     //Drawing a rectangle
      contentStream.addRect(200, 650, 100, 100);

     //Drawing a rectangle
      contentStream.fill();

      System.out.println("rectangle added");

     //Closing the ContentStream object
      contentStream.close();

     //Saving the document
      File file1 = new File("C:/PdfBox_Examples/colorbox.pdf");
      document.save(file1);

     //Closing the document
      document.close();
   }
}

次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。

javac AddRectangles.java
java AddRectangles

実行時に、上記のプログラムはPDFドキュメントに次の画像を表示する長方形を作成します。

Rectangle created

指定されたパスを確認し、保存されたドキュメント( colorbox.pdf )を開くと、以下に示すようにボックスが挿入されていることがわかります。

Coloredbox