将 PDF 文件转换为图片是常见的需求之一,特别是在需要将 PDF 内容以图像形式展示或处理时。其中最常用的是 Apache PDFBox。
使用 Apache PDFBox
Apache PDFBox 是一个开源的 Java 库,可以用来处理 PDF 文档。它提供了将 PDF 页面转换为图像的功能。
步骤:
1.添加依赖:
在你的 pom.xml
文件中添加 PDFBox 的依赖:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version>
</dependency>
2.编写转换代码:
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 PdfToImageConverter {
public static void main(String[] args) {
String pdfPath = "path/to/your/file.pdf";
String outputDir = "path/to/output/directory";
try (PDDocument document = PDDocument.load(new File(pdfPath))) {
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int page = 0; page < document.getNumberOfPages(); ++page) {
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300); // 300 DPI
ImageIO.write(bim, "PNG", new File(outputDir, String.format("page_%s.png", page + 1)));
}
System.out.println("PDF to image conversion completed successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
300DPI转出来的图片像素会比较高,可以根据实际情况调整。