提示:有些时候我们需要在项目中展示PDF,所以我们可以将PDF转为图片,然后已图片的方式展示,效果很好。Java使用各种技术将pdf转换成图片格式,并且内容不失帧。清晰可见,该工具类也是开发中常用到的工具类。其中包括单页pdf转换成一张图片、多页pdf转换成多页图片、。 并且本人亲自使用过的。
文章目录
前言一、使用开源库Apache PDFBox将PDF转换为图片1、引入依赖库2、实现pdf转换图片工具类(多页pdf会生成多页的图片,后缀会生成图片的位置序号)3、按照固定页数来将pdf转换成图片的工具类(自由选择pdf转换图片的页数)
二、使用PDF Box将多页的pdf转换一张长图片的方法1、引入PDF Box需要的依赖2、编写将多页PDF转换多张图片的工具类
三、使用文件流整个pdf转换成图片 (生成图片,并将生成的图片路径返回)总结
前言
提示:生成图片以后需要将文件流关闭,不然删除文件会删除失败 很多人不知道怎么将pdf的文件转换成图片格式的,而且网上有很例子是跑不通的,同是也是方便自己在用到该需求的时候能够快速度地写出来,所以整理了几种pdf转换成图片的方法工具类,
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用开源库Apache PDFBox将PDF转换为图片
1、引入依赖库
org.apache.pdfbox
fontbox
2.0.9
org.apache.pdfbox
pdfbox
2.0.9
commons-logging
commons-logging
1.2
2、实现pdf转换图片工具类(多页pdf会生成多页的图片,后缀会生成图片的位置序号)
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class Pdf2Png {
/**
* 使用pdfbox将整个pdf转换成图片
*
* @param fileAddress 文件地址 如:C:\\Users\\user\\Desktop\\test
* @param filename PDF文件名不带后缀名
* @param type 图片类型 png 和jpg
*/
public static void pdf2png(String fileAddress, String filename, String type) {
long startTime = System.currentTimeMillis();
// 将文件地址和文件名拼接成路径 注意:线上环境不能使用\\拼接
File file = new File(fileAddress + "\\" + filename + ".pdf");
try {
// 写入文件
PDDocument doc = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(doc);
int pageCount = doc.getNumberOfPages();
for (int i = 0; i |