第一:首先导入PDFRenderer.jar
第二:方法:
private String filePath;
public void pdfTojpg(){
try{
//pdf转JPG
File file = new File(filePath +pdfName);
RandomAccessFile raf;
raf = new RandomAccessFile(file, "r");
FileChannel channel = raf.getChannel();
ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel
.size());
PDFFile pdffile;
pdffile = new PDFFile(buf);
for (int i = 1; i <= pdffile.getNumPages(); i++) {
// draw the first page to an image
PDFPage page = pdffile.getPage(i);
// get the width and height for the doc at the default zoom
Rectangle rect = new Rectangle(0, 0, (int) page.getBBox()
.getWidth(), (int) page.getBBox().getHeight());
// generate the image
Image img = page.getImage(rect.width, rect.height, // width &
rect, // clip rect
null, // null for the ImageObserver
true, // fill background with white
true // block until drawing is done
);
BufferedImage mage = new BufferedImage(rect.width, rect.height,
BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(img, 0, 0, rect.width, rect.height,
null);
String jpgName= Id.getFileID() + ".jpg";
FileOutputStream out = new FileOutputStream(filePath+jpgName); // 输出到文件流
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(mage); // 编码
out.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
new File(filePath + pdfName).delete();//删除pdf
}
}