1.在pom中添加依赖 <dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId> <version>6.1.2</version> <exclusions> <exclusion> <groupId>javax.media</groupId> <artifactId>jai-core</artifactId> </exclusion> </exclusions> </dependency> 2.实现代码如下: package com.apply.ism.utils; import java.awt.image.BufferedImage; import java.awt.image.RenderedImage; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import org.icepdf.core.exceptions.PDFException; import org.icepdf.core.exceptions.PDFSecurityException; import org.icepdf.core.pobjects.Document; import org.icepdf.core.util.GraphicsRenderingHints; import sun.misc.BASE64Decoder; public class pdf2JpgHelper { static BASE64Decoder decoder = new sun.misc.BASE64Decoder(); /** * pdf文件转jpg * * @param pdffilepath */ public static void pdf2jpg(String pdffilepath, String jpgfilepath) throws IOException, PDFException, PDFSecurityException { Document document = new Document(); document.setFile(pdffilepath); float scale = 2.5f;// 缩放比例 float rotation = 0f;// 旋转角度 for (int i = 0; i < document.getNumberOfPages(); i++) { BufferedImage image = (BufferedImage) document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale); RenderedImage rendImage = image; try { File file = new File(jpgfilepath); ImageIO.write(rendImage, "jpg", file); } catch (IOException e) { e.printStackTrace(); } image.flush(); } document.dispose(); } /** * @param args */ public static void main(String[] args) throws PDFException, IOException, PDFSecurityException { String pdffilepath = "E:\\aaa\\123.pdf"; String jpgfilepath = "E:\\aaa\\55.jpg"; pdf2jpg(pdffilepath,jpgfilepath); } }