java实现PDF转图片的方法

网友投稿 852 2023-01-24


java实现PDF转图片的方法

本文实例为大家分享了java实现PDF转图片的具体代码,供大家参考,具体内容如下

1.首先利用maven引入所需jar包

org.apache.pdfbox

fontbox

2.0.1

org.apache.pdfbox

pdfbox

2.0.1

2.这是本人自己写的一个工具类,有两个方法,一个是获取PDF总页码,一个是通过传过来的page把对应的pdf转成指定格式的图片,并通过流的方式响应给客户端

public class PDFToImgUtil {

private static Logger logger = LoggerFactory.getLogger(PDFToImgUtil.class);

/**

* 获取PDF总页数

* @throws IOException

*/

public static int getPDFNum(String fileUrl) throws IOException {

PDDocument pdDocument = null;

int pages = 0;

try {

pdDocument = getPDDocument(fileUrl);

pages = pdDocument.getNumberOfPages();

} catch (Exception e) {

e.printStackTrace();

logger.error(e.getMessage(),e);

} finally {

if (pdDocument != null) {

pdDocument.close();

}

}

return pages;

}

/**

* PDF转图片 根据页码一页一页转

* @throws IOException

* imgType:转换后的图片类型 jpg,png

*/

public static void PDFToImg(OutputStream sos,StPVZWUuiring fileUrl,int page,String imgType) throws IOException {

PDDocument pdDocument = null;

/* dpi越大转换后越清晰,相对转换速度越慢 */

int dpi = 100;

try {

pdDocument = getPDDocument(fileUrl);

PDFRenderer renderer = new PDFRenderer(pdDocument);

int pages = pdDocument.getNumberOfPages();

if (page <= pages && page > 0) {

BufferedImage image = renderer.renderImageWithDPI(page,dpi);

ImageIO.write(image, imgType, sos);

}

} catch (Exception e) {

e.printStackTrace();

logger.error(e.getMessage(),e);

} finally {

if (pdDocument != null) {

phttp://dDocument.close();

}

}

}

private static PDDocument getPDDocument(String fileUrl) throws IOException {

File file = new File(fileUrl);

FileInputStream inputStream = new FileInputStream(file);

return PDDocument.load(inputStream);

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:手机接口自动化测试(软件测试接口自动化)
下一篇:容器主机共享文件系统(台式机文件共享)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~