一、maven安装

org.icepdf.os icepdf-core 6.2.2

二、Java代码实现

import org.icepdf.core.pobjects.Document; import org.icepdf.core.pobjects.Page; import org.icepdf.core.util.GraphicsRenderingHints; import javax.imageio.IIOImage; import javax.imageio.ImageIO; import javax.imageio.ImageWriter; import javax.imageio.stream.ImageOutputStream; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.util.Iterator; public class CapturePdfFirstPageUtil { /** * 生成一本书的缩略图 * * @param inputFile 需要生成缩略图的书籍的完整路径 * @param outputFile 生成缩略图的放置路径 */ public static void generateBookIamge(String inputFile, String outputFile) { Document document = null; try { float rotation = 0f; // 缩略图显示倍数,1表示不缩放,0.5表示缩小到50% float zoom = 0.8f; document = new Document(); document.setFile(inputFile); BufferedImage p_w_picpath = (BufferedImage) document.getPageImage(0, GraphicsRenderingHints.SCREEN, Page.BOUNDARY_CROPBOX, rotation, zoom); Iterator iter = ImageIO.getImageWritersBySuffix("jpg"); ImageWriter writer = (ImageWriter) iter.next(); FileOutputStream out = new FileOutputStream(new File(outputFile)); ImageOutputStream outImage = ImageIO.createImageOutputStream(out); writer.setOutput(outImage); writer.write(new IIOImage(p_w_picpath, null, null)); } catch (Exception e) { System.out.println("生成书的缩略图失败 : " + inputFile); System.out.println(e); } } public static void main(String[] args) { CapturePdfFirstPageUtil.generateBookIamge("C:\Users\Downloads\我是帅子男一号.pdf", "C:\Users\Desktop\帅子男一号.jpg"); } }