java实现PDF转图片功能,附实例源码!

2022-07-27 12:57:30

本文整理了一个PDF转图片的工具类,支持单页及多页的转换!

首先需要引入相关的jar包

<dependency><!--PDF操作工具包--><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox-app</artifactId><version>2.0.16</version></dependency>

实现代码如下:

publicclassPDFtoImages{/**
	 * 转换单页pdf
	 * @param filename PDF文件名
	 */publicstaticStringpdftoPng(String filename){// 将pdf装图片 并且自定义图片得格式大小File file=newFile(filename);String fileName= file.getName();int dot= fileName.lastIndexOf('.');if((dot>-1)&&(dot<(fileName.length()-1))){
			filename= fileName.substring(0, dot);}try{PDDocument doc=PDDocument.load(file);PDFRenderer renderer=newPDFRenderer(doc);BufferedImage image= renderer.renderImageWithDPI(0,124);//为了方便,暂时写死File imageFile=newFile("E:\\pdftoimges\\"+filename+".png");ImageIO.write(image,"png", imageFile);return imageFile.getPath();}catch(IOException e){
			e.printStackTrace();}returnnull;}publicstaticvoidpdftoimage(String filepath){File file=newFile(filepath);try{PDDocument doc=PDDocument.load(file);PDFRenderer renderer=newPDFRenderer(doc);int pageCount= doc.getNumberOfPages();for(int i=0; i< pageCount; i++){BufferedImage image= renderer.renderImageWithDPI(i,296);int size= i+1;//          BufferedImage image = renderer.renderImage(i, 2.5f);ImageIO.write(image,"PNG",newFile("E:\\pdftoimges\\png\\测试第"+size+"页.png"));}}catch(IOException e){
			e.printStackTrace();}}

测试

publicstaticvoidmain(String[] args){String filename="E:\\pdf\\测试.pdf";//pdftoimage(filename);String imagePath=pdftoPng(filename);System.out.println(imagePath);}
  • 作者:公子小七
  • 原文链接:https://blog.csdn.net/qq_40726820/article/details/125445390
    更新时间:2022-07-27 12:57:30