java PDF转image

来源:互联网 发布:福特嘉年华st轮毂数据 编辑:程序博客网 时间:2024/05/16 07:35
import java.awt.image.BufferedImage;import java.io.File;import java.io.FileNotFoundException;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;import org.springframework.stereotype.Component;import com.galaxy.result.SmartjResult;@Componentpublic class PDF2Image {public SmartjResult convertImage(String filePath,String outPath)throws Exception{SmartjResult result = new SmartjResult();FileOutputStream out = null;ImageOutputStream outImage = null;PDDocument doc = null;try {File file = new File(outPath);if(!file.exists()){file.mkdirs();}doc = PDDocument.load(filePath);List<?> pages = doc.getDocumentCatalog().getAllPages(); for(int i=0;i<pages.size();i++){    PDPage page = (PDPage)pages.get(i);     BufferedImage image = page.convertToImage();     Iterator<ImageWriter> iter = ImageIO.getImageWritersBySuffix("jpg");     ImageWriter writer = (ImageWriter)iter.next();     File outFile = new File(outPath+i+".jpg");     out = new FileOutputStream(outFile);     outImage = ImageIO.createImageOutputStream(out);     writer.setOutput(outImage);    writer.write(new IIOImage(image,null,null));     out.close();outImage.close();}result.setSuccess(true);result.setOther(pages.size());doc.close();return result;} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{doc.close();}result.setSuccess(false);return result;}}


所需jar包:pdfbox-1.8.11.jar  下载地址:http://pdfbox.apache.org/

0 0
原创粉丝点击