1.8。*版本的解決方案:
PDDocument document = PDDocument.loadNonSeq(new File(pdfFilename), null);List<PDPage> pdPages = document.getDocumentCatalog().getAllPages();int page = 0;for (PDPage pdPage : pdPages){
++page;
BufferedImage bim = pdPage.convertToImage(BufferedImage.TYPE_INT_RGB, 300);
ImageIOUtil.writeImage(bim, pdfFilename + "-" + page + ".png", 300);}document.close();
在構(gòu)建之前,不要忘記閱讀1.8依賴項頁面。
2.0版本的解決方案:
PDDocument document = PDDocument.load(new File(pdfFilename));PDFRenderer pdfRenderer = new PDFRenderer(document);for (int page = 0; page < document.getNumberOfPages(); ++page){
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
// suffix in filename will be used as the file format
ImageIOUtil.writeImage(bim, pdfFilename + "-" + (page+1) + ".png", 300);}document.close();
ImageIOUtil類位于單獨(dú)的下載/工件(pdf-tools)中。在進(jìn)行構(gòu)建之前,請閱讀2.0依賴關(guān)系頁面,您將需要額外的帶有jbig2圖像的PDF文件,用于保存到tiff圖像以及讀取加密文件。
確保使用您正在使用的任何JDK版本的最新版本,即如果您使用的是jdk8,則不要使用版本1.8.0_5,請使用1.8.0_191或您閱讀時的最新版本。早期版本非常慢。