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