欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Java使用icepdf将pdf文件按页转成图片

时间:2021-03-12 09:56:33|栏目:JAVA代码|点击:

本文实例为大家分享了Java使用icepdf将pdf文件按页转成图片的具体代码,供大家参考,具体内容如下

Maven icepdf包,这里过滤掉jai-core

<dependency>
 <groupId>org.icepdf.os</groupId>
 <artifactId>icepdf-core</artifactId>
 <version>6.1.2</version> 
 <exclusions>
  <exclusion>
   <groupId>javax.media</groupId>
   <artifactId>jai-core</artifactId>
  </exclusion>
 </exclusions>
</dependency>

代码如下

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;

import org.apache.commons.logging.LogFactory;
import org.icepdf.core.exceptions.PDFException;
import org.icepdf.core.exceptions.PDFSecurityException;
import org.icepdf.core.pobjects.Document;
import org.icepdf.core.pobjects.Page;
import org.icepdf.core.util.GraphicsRenderingHints;


public class test20160929 {
 public static final String FILETYPE_JPG = "jpg";

 /**
  * 
  * 将指定的pdf文件转换为指定路径的图片
  * 
  * @param filepath 原文件路径,例如d:/test/test.pdf
  * 
  * @param imagepath 图片生成路径,例如 d:/test/
  * 
  * @param zoom 缩略图显示倍数,1表示不缩放,0.3则缩小到30%
  * 
  */
 public static void tranfer(String filepath, String imagepath, float zoom) throws PDFException, PDFSecurityException, IOException {
  Document document = null;
  float rotation = 0f;
  document = new Document();
  document.setFile(filepath);
  int maxPages = document.getPageTree().getNumberOfPages();

  for (int i = 0; i < maxPages; i++) {
   BufferedImage img = (BufferedImage) document.getPageImage(i, GraphicsRenderingHints.SCREEN, Page.BOUNDARY_CROPBOX, rotation, zoom);
   Iterator iter = ImageIO.getImageWritersBySuffix(FILETYPE_JPG);
   ImageWriter writer = (ImageWriter) iter.next();
   File outFile = new File(imagepath + new File(filepath).getName() + "_" + new DecimalFormat("000").format(i) + "." + FILETYPE_JPG);
   FileOutputStream out = new FileOutputStream(outFile);
   ImageOutputStream outImage = ImageIO.createImageOutputStream(out);
   writer.setOutput(outImage);
   writer.write(new IIOImage(img, null, null));
  }
  System.out.println("转换完成");
 }

 public static void main(String[] args) throws PDFException, PDFSecurityException, IOException {
  tranfer("d:/test/test.pdf", "d:/test/", 1);
 }
}

上一篇:java图形验证码生成工具类 web页面校验验证码

栏    目:JAVA代码

下一篇:Java中IO流文件读取、写入和复制的实例

本文标题:Java使用icepdf将pdf文件按页转成图片

本文地址:http://www.codeinn.net/misctech/79477.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有