PDFファイルに利用されている画像をJPG変換します。
以下のライブラリが必要です。
pdfbox-2.0.7.jar
commons-logging-1.2.jar
2 | import java.io.FileOutputStream; |
3 | import java.io.IOException; |
4 | import java.util.Iterator; |
6 | import javax.imageio.ImageIO; |
8 | import org.apache.pdfbox.cos.COSName; |
9 | import org.apache.pdfbox.pdmodel.PDDocument; |
10 | import org.apache.pdfbox.pdmodel.PDPage; |
11 | import org.apache.pdfbox.pdmodel.PDPageTree; |
12 | import org.apache.pdfbox.pdmodel.PDResources; |
13 | import org.apache.pdfbox.pdmodel.graphics.PDXObject; |
14 | import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; |
16 | public class TestPDFBoxPdfToJpg { |
18 | public static void main(String[] args) { |
20 | try (PDDocument document = PDDocument.load( new File( "D:\\test\\pdf\\e-ticket.pdf" ));) { |
23 | PDPageTree pageTree = document.getDocumentCatalog().getPages(); |
24 | PDPage page = pageTree.get( 0 ); |
27 | PDResources resources = page.getResources(); |
28 | Iterator<COSName> ite = resources.getXObjectNames().iterator(); |
32 | while (ite.hasNext()) { |
34 | COSName name = ite.next(); |
37 | PDXObject xobject = resources.getXObject(name); |
39 | if (xobject instanceof PDImageXObject) { |
40 | PDImageXObject image2 = (PDImageXObject) resources.getXObject(name); |
41 | ImageIO.write(image2.getImage(), "jpg" , new FileOutputStream( "D:\\test\\pdf\\e-ticket" + i + ".jpg" )); |
47 | } catch (IOException e) { |