package com.demo; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import com.aspose.pdf.Document; import com.aspose.pdf.License; import com.aspose.pdf.devices.JpegDevice; import com.aspose.pdf.devices.Resolution; /** * * 因为ASPOSE比较吃内存,操做大一点的文件就会堆溢出,因此请先设置好java虚拟机参数:-Xms1024m -Xmx1024m(参kao值)<br> * * @author Spark * */ public class TestPdf { private static InputStream license; private static InputStream pdf; public static void main(String[] args) { pdfToImage(); } /** * 获取license * * @return */ public static boolean getLicense() { boolean result = false; try { license = TestPdf.class.getClassLoader().getResourceAsStream("\\license.xml");// license路径 pdf = TestPdf.class.getClassLoader().getResourceAsStream("\\人人都是产品经理.pdf");// 原始pdf路径 License aposeLic = new License(); aposeLic.setLicense(license); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } public static void pdfToImage(){ // 验证License if (!getLicense()) { return; } try { long old = System.currentTimeMillis(); System.out.println("begin.............."); Document pdfDocument = new Document(pdf); //图片宽度:800 //图片高度:100 // 分辨率 130 //Quality [0-100] 最大100 //例: new JpegDevice(800, 1000, resolution, 90); Resolution resolution = new Resolution(130); JpegDevice jpegDevice = new JpegDevice(resolution); for (int index=1;index<=pdfDocument.getPages().size();index++) { File file = new File("D:\\a\\test"+index+".jpg");// 输出路径 FileOutputStream fileOS = new FileOutputStream(file); jpegDevice.process(pdfDocument.getPages().get_Item(index), fileOS); fileOS.close(); } long now = System.currentTimeMillis(); System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒"); } catch (Exception e) { e.printStackTrace(); } } }