PDFBox 1.0
提供: 個人的記録
Apache FoundationのPDF生成ライブラリ。
このページは1.8.3準拠で記述しています。
ライセンス
- APL
本家サイト
Mavenでの導入
本家にもあるけど、今回はdependencyに以下を記述。
<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.3</version> </dependency>
使い方
PDFページを追加する。
以下のコードで空白のページを追加することができる。
PDRectangleでページサイズを指定できるが、単位がポイントなのに注意(1ポイント=0.353mm)
PDDocument doc = new PDDocument();
PDRectangle rec = new PDRectangle(幅,高さ);
doc.addPage(new Page(rec));
doc.save("出力先.pdf");
doc.close();
紙のサイズとおおよそのポイント
| サイズ | mm表記 | ポイント表記 |
|---|---|---|
| A3 | 297×427 | 842×1191 |
| A4 | 210×297 | 595×842 |
| A5 | 148×210 | 420×595 |
| B4 | 250×353 | 729×1032 |
| B5 | 176×250 | 516×729 |
| B6 | 125×176 | 363×516 |
文字列/図形の描画
PDFの文字列や図形はstreamで行う。streamはさまざまなオペレータの集合になっている。イメージ的にはdrawマクロみたいなもの。
streamはページに対し、以下のコードで生成する。
PDPageContentStream stream = new PDPageContentStream(PDDocument, PDPage)
図形や文字列のPDFのオペレータに対応するメソッドがある。
streamは必ずcloseすること。closeしないと描画が行われない。