- 引入依赖
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>1.7.1</version>
</dependency>
- 实现简单的PDF转JPG
public static void main(String[] args) {
String pdfFilePath = "D:/aaa.pdf";//pdf文件路径
String destFormat = "jpg";//最终希望PDF文件转成的文件格式
int dpi = 144;//pdi越大,图片越清晰,生成的图片也越大
File file = new File(pdfFilePath);
String destDirFile = "D:/";//最终jpg图片生成保存的目录
PDDocument doc = null;
int num = 1;
try {
doc = PDDocument.load(file);
List<PDPage> pages = doc.getDocumentCatalog().getAllPages();//获取到当前PDF内的总页数
for (int i = 0; i < pages.size(); i++) {
PDPage page = pages.get(i);
//生成彩色的图,想生成黑白的图可以改变“TYPE_3BYTE_BGR”处的值
BufferedImage image = page.convertToImage(BufferedImage.TYPE_3BYTE_BGR, dpi);
//获取PDF名->aaa.pdf
String pdfName = pdfFilePath.substring(pdfFilePath.lastIndexOf("/") + 1);
//拼接生成的图片路径->D:/destDir/aaa-1.jpg
String destPath = destDirFile + pdfName.substring(0, pdfName.lastIndexOf(".")) + "-" + num++ + "." + destFormat;
File destDirFiles = new File(destPath);
if (!destDirFiles.exists()) {
destDirFiles.mkdirs();
}
File jpgFile = new File(destPath);
ImageIO.write(image, destFormat, jpgFile);//生成图片
}
} finally {
if (doc != null) {
doc.close();
}
}
}