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(); } } }