引入依赖
<dependency><groupId>org.apache.pdfbox</groupId><artifactId>fontbox</artifactId><version>2.0.1</version></dependency><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.1</version></dependency>
代码实现
import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.pdmodel.PDPageTree;import org.apache.pdfbox.rendering.PDFRenderer;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.*;public class Pdf {public static void main(String[] args) throws Exception {pdfToImageFile();}static void pdfToImageFile() throws Exception {PDDocument doc = null;ByteArrayOutputStream os = null;InputStream stream = null;OutputStream out = null;try {// pdf路径stream = new FileInputStream("D:\\download\\pdf.pdf");// 加载解析PDF文件doc = PDDocument.load(stream);PDFRenderer pdfRenderer = new PDFRenderer(doc);PDPageTree pages = doc.getPages();int pageCount = pages.getCount();for (int i = 0; i < pageCount; i++) {BufferedImage bim = pdfRenderer.renderImageWithDPI(i, 200);os = new ByteArrayOutputStream();ImageIO.write(bim, "jpg", os);byte[] dataList = os.toByteArray();// jpg文件转出路径File file = new File("D:\\download\\pdf\\hello_" + i + ".jpg");if (!file.getParentFile().exists()) {// 不存在则创建父目录及子文件file.getParentFile().mkdirs();file.createNewFile();}out = new FileOutputStream(file);out.write(dataList);}} catch (Exception e) {e.printStackTrace();throw e;} finally {if (doc != null) doc.close();if (os != null) os.close();if (stream != null) stream.close();if (out != null) out.close();}}}