此文章是在jquery学堂的java群(184764197)群共享里面看到的,觉得对网友们的学习挺有用的就把它整理到JquerySchool网站上,希望可以帮到大家。。。
步骤如下:
1、先导入3个jar包如下:
com.springsource.org.apache.commons.logging-1.1.1.jar
fontbox-1.7.0.jar
pdfbox-1.7.1.jar
在文章的最后面提供源码和jar包打包下载的
2、将pdf文件转换成图片,因为存在转码的问题,对于英文pdf支持较好,中文可能会出问题
3、运行过程中控制台的警告可以忽略。
源代码如下:
package com.pdf;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
public class ExtractImages
{
public static void main(String[] args) throws IOException {
//加载指定pdf文件
PDDocument doc = PDDocument.load("E:\\现代交换原理与技术练习题及答案.pdf");
//获取pdf文件页码
int pageCount =doc.getNumberOfPages();
//输出页码,可以注释掉
System.out.println(pageCount);
List pages = doc.getDocumentCatalog().getAllPages();
for(int i=0;i<pages.size();i++){
PDPage page = (PDPage)pages.get(i);
//将页面转换为图片
BufferedImage image = page.convertToImage();
Iterator iter = ImageIO.getImageWritersBySuffix("jpg");
ImageWriter writer = (ImageWriter)iter.next();
File outFile = new File("E:/"+i+".jpg");
FileOutputStream out = new FileOutputStream(outFile);
ImageOutputStream outImage = ImageIO.createImageOutputStream(out);
writer.setOutput(outImage);
writer.write(new IIOImage(image,null,null));
}
doc.close();
System.out.println("over");
}
}
如果您觉得本文的内容对您的学习有所帮助:
关键字:
java pdf转成jpg fontbox-1.7.0 pdfbox-1.7.1 java教程