Java实现PDF首页转缩略图

一、maven安装

<dependency>     <groupId>org.icepdf.os</groupId>     <artifactId>icepdf-core</artifactId>     <version>6.2.2</version> </dependency>

二、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");     } }

您可能还会对下面的文章感兴趣: