java+icepdf+下载_Java使用icepdf将pdf文件按页转成图片

本文介绍了一个Java程序,使用IcePDF库将PDF文件的每一页转换为JPEG图片。通过设置缩放比例,可以调整图片质量。程序详细展示了如何读取PDF文件、获取页面图像并保存为图片文件。
摘要由CSDN通过智能技术生成

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

org.icepdf.os

icepdf-core

6.1.2

javax.media

jai-core

代码如下

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);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值