关闭

怎么把pdf文件截图

标签: pdfBox
1148人阅读 评论(0) 收藏 举报
分类:

最近做一个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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:295732次
    • 积分:5133
    • 等级:
    • 排名:第5779名
    • 原创:226篇
    • 转载:52篇
    • 译文:2篇
    • 评论:16条
    最新评论