PDFファイルに利用されている画像をJPG変換します。
以下のライブラリが必要です。
pdfbox-2.0.7.jar
commons-logging-1.2.jar
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Iterator; import javax.imageio.ImageIO; import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageTree; import org.apache.pdfbox.pdmodel.PDResources; import org.apache.pdfbox.pdmodel.graphics.PDXObject; import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; public class TestPDFBoxPdfToJpg { public static void main(String[] args) { //PDFドキュメントをロード try (PDDocument document = PDDocument.load(new File("D:\\test\\pdf\\e-ticket.pdf"));) { //ページのリストから最初の1ページを取得する PDPageTree pageTree = document.getDocumentCatalog().getPages(); PDPage page = pageTree.get(0); //ページからリソースを取得し、最初のイメージを取得する。 PDResources resources = page.getResources(); Iterator<COSName> ite = resources.getXObjectNames().iterator(); int i = 0; while (ite.hasNext()) { COSName name = ite.next(); //取得したイメージをファイルに出力 PDXObject xobject = resources.getXObject(name); if (xobject instanceof PDImageXObject) { PDImageXObject image2 = (PDImageXObject) resources.getXObject(name); ImageIO.write(image2.getImage(), "jpg", new FileOutputStream("D:\\test\\pdf\\e-ticket" + i + ".jpg")); } i++; } } catch (IOException e) { e.printStackTrace(); } } }