PDFBox サンプルプログラム

目次

JPEGファイルをPDFに出力する


try {
    //PDFドキュメントを作成
    PDDocument document = new PDDocument();
		
    //サイズ指定
    PDRectangle rec = new PDRectangle();
    rec.setUpperRightX(0);
    rec.setUpperRightY(0);
    rec.setLowerLeftX(1000);
    rec.setLowerLeftY(1000);
    //ページを追加(1ページ目)
    PDPage page = new PDPage(rec);
    document.addPage(page);
		    
    //イメージオブジェクトを生成
    PDXObjectImage xImage = new PDJpeg(document, new FileInputStream("hogehoge.jpg"));
    //DocumentへのObjectの登録はContentStream生成の前で実施。
		    
    //書き込む用のストリームを準備
    PDPageContentStream stream = new PDPageContentStream(document, page);
		    
    //アフィン変換を指定
    AffineTransform transform = new AffineTransform(1000, 0, 0, 1000, 0, 0); 
		    
    //イメージ描画
    stream.drawXObject(xImage, transform);
		    
    //ストリームを閉じる
    stream.close();
		    
    //ページを追加(2ページ目)
    page = new PDPage(rec);
    document.addPage(page);
		    
    xImage = new PDJpeg(document, new FileInputStream("hogehoge.jpg"));
		    
    //書き込む用のストリームを準備
    stream = new PDPageContentStream(document, page);

    //イメージ描画(アフィン変換のみ使い回し)
    stream.drawXObject(xImage, transform);
		    
    //ストリームを閉じる
    stream.close();
		
    //作成したPDFを保存
    document.save("hogehoge.pdf");
    document.close();
} catch (IOException e) {
    e.printStackTrace();
} catch (COSVisitorException e) {
    e.printStackTrace();
}