PDFBox サンプルプログラム
目次
- 空白ページが1ページあるだけのPDFを作成する
- 空白ページが2ページあるだけのPDFを作成する
- ページサイズを指定して空白1ページのPDFを作成する
- BleedBox(塗り足しを含むサイズ),TrimBox(仕上がりサイズ)を指定して1ページのPDFを作成する
- JPEGファイルをPDFに出力する
- JPEGファイルをPDFの複数ページに参照方式で出力する
- JPEGファイルをPDFの複数ページに物理方式に出力する
- PDFからJPEGファイルを抽出する
- PDFからJPEGデータをBufferedImageとして取得する
- PDFに文字列を一つ出力する
- PDFに文字列を二つ出力する
- PDFに日本語を含む文字列を一つ出力する
- PDFから文字列を抽出してテキストファイルへ出力する
- PDFから文字列を抽出して標準出力へ出力する
- PDFから画像の解像度を取得する
- PDFから1ページの画像を取得する
- PDFから全ページの画像を取得する
- PDFファイルを無圧縮で出力してPDFのファイル形式を確認する
PDFからページの画像を取得する
ソフトマスクのあるページで取得したJPEGがそのまま使えなかったので、こちらからページのイメージを取得する.
try {
//PDFドキュメントをロード
PDDocument document = PDDocument.load("hogehoge.pdf");
List pageList = (List) document.getDocumentCatalog().getAllPages();
//ページのリストからそれぞれのページで処理を実施
for (PDPage page : pageList) {
//ページからリソースを取得し、全てのイメージを取得する。
PDResources resources = page.getResources();
try {
Map images = resources.getImages();
if (images != null) {
Iterator> ite = images.entrySet().iterator();
while (ite.hasNext()) {
PDXObjectImage image = ite.next().getValue();
//取得したイメージをファイルに出力
image.write2file(System.currentTimeMillis() + "hogehoge");
}
}
} finally {
//不要なキャッシュのクリア(これをしないとメモリ不足エラーが発生する可能性がある)
resources.clear();
}
}
document.close();
} catch (IOException e) {
e.printStackTrace();
}