PDF文件转换为图片
使用jar包:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.20</version>
</dependency>
代码:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
public class PdfToImage {
/**
* dpi越大转换后越清晰,相对转换速度越慢
*/
private static Integer DPI = 100;
/**
* 转换后的图片类型
*/
private static String IMG_TYPE = "png";
/**
* PDF转图片
*
* @param fileContent PDF文件的二进制流
* @param filePath 文件存储根目录
*/
public static void pdfToImage(byte[] fileContent,String filePath) {
try (PDDocument document = PDDocument.load(fileContent)) {
PDFRenderer renderer = new PDFRenderer(document);
for (int i = 0; i < document.getNumberOfPages(); ++i) {
String picName = System.currentTimeMillis()+"";
BufferedImage bufferedImage = renderer.renderImageWithDPI(i, DPI);
FileOutputStream out = new FileOutputStream(filePath + System.getProperty("file.separator") + picName + ".png");
ImageIO.write(bufferedImage, IMG_TYPE, out);
out.close();
}
}catch (IOException e){
System.out.println(e);
}
}
}
参考文章:https://blog.csdn.net/qq_40378034/article/details/107126657