怎么把pdf文件截图

来源:互联网 发布:迦南诗选全集软件下载 编辑:程序博客网 时间:2024/04/27 18:32

最近做一个pdf文件每一页都要一个截图的功能上网找了一下,发现很多人都用pdfBox,就自己研究用用,虽说现在只是用它来生成pdf文件截图,以后希望从他身上学到更多》

截图的功能代码如下:


package com.test;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 {         PDDocument doc = PDDocument.load("d:\\study\\1.pdf");        int pageCount = doc.getPageCount();         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("d:/"+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");     }}
在这里要在你的项目里加上这三个jar包,我会把这三个包跟着博客一起上传代码大家写过图片上传的都很清楚的能看懂,


0 0
原创粉丝点击