Java实现PDF首页转缩略图

一、maven安装

org.icepdf.osicepdf-core6.2.2

二、Java代码实现

【Java实现PDF首页转缩略图】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");}}

相关经验推荐