使用apache pdfbox提取dpf为图片时没有颜色,初步猜测时图层的原因,试了很多中办法都不生效。
BufferedImage image = renderer.renderImageWithDPI(i, 300,ImageType.ARGB);
BufferedImage image = renderer.renderImageWithDPI(i, 300,ImageType.RGB);
原来pdf效果
适用pdfbox 提取图片效果
代码如下:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>3.0.0</version>
</dependency>
private static void pdf2Image() {
//程序的逻辑代码
String pdfFilePath = "D:\\Users\\65720\\Desktop\\*********\\勇罕 2022年 第 4 期.pdf"; // PDF文件路径
String outputImagePath = "D:\\Users\\65720\\Desktop\\********\\勇罕 2022年 第 4 期\\"; // PNG格式的图片路径
try {
// 加载PDF文档
PDDocument document = Loader.loadPDF(new File(pdfFilePath));
// 创建PDF渲染器
PDFRenderer renderer = new PDFRenderer(document);
// 循环处理每一页
for (int i = 0; i < 2; i++) {
// 渲染PDF页面为图像
BufferedImage image = renderer.renderImageWithDPI(i, 300);
// 保存图像为PNG文件
ImageIO.write(image, "png", new File(outputImagePath + "page" + (i + 1) + ".png"));
}
// 关闭PDF文档
document.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}