使用pdfbox将pdf转化为图片格式
转载请注明!谢谢!
首先需要在maven中加入依赖
// pdfbox版本可以直接找最新版本的
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>3.0.1</version>
</dependency>
以下是转化pdf为图片格式的demo
public static void main(String[] args) {
try {
// 指定PDF文件路径
String pdfFilePath = "指定pdf文件路径/test1.pdf";
// 加载PDF文档
PDDocument document = Loader.loadPDF(new File(pdfFilePath));
// 设置图像分辨率(DPI)
int dpi = 300; // 这里设置为300 DPI,你可以根据需要调整
// 创建PDFRenderer对象
PDFRenderer pdfRenderer = new PDFRenderer(document);
// 遍历每一页并将其转换为图片
for (int pageIndex = 0; pageIndex < document.getNumberOfPages(); pageIndex++) {
// 设置渲染的缩放比例
float scale = dpi / 72f;
// 渲染指定页的PDF为BufferedImage
BufferedImage image = pdfRenderer.renderImage(pageIndex,scale);
// 生成图片文件名
String outputImagePath = "这里写输出文件地址和名称" + (pageIndex + 1) + ".png";
// 保存图片到文件
ImageIO.write(image, "PNG", new File(outputImagePath));
}
// 关闭PDF文档
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
现在更新3.0之后的pdfbox使用的load方法不太相同
// 加载PDF文档,3.0之后的方法
PDDocument document = Loader.loadPDF(new File(pdfFilePath));
// 加载PDF文档,3.0之前的方法
PDDocument document = PDDocument.load(new File(pdfFilePath));