1. 程式人生 > 其它 >java PDF轉圖片

java PDF轉圖片

pdf轉圖片
建立一個maven專案
新增icepdf依賴

<!-- https://mvnrepository.com/artifact/org.icepdf.os/icepdf-core -->
<dependency>
      <groupId>org.icepdf.os</groupId>
      <artifactId>icepdf-core</artifactId>
      <version>6.2.2</version>
  </dependency>

程式碼實現如下:

package com.jl.java.base
.upload; /** * @author :heyaolei * @date :2021/10/8 */ import org.icepdf.core.pobjects.Document; import org.icepdf.core.util.GraphicsRenderingHints; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException;
/** * PDF 轉 圖片 */ public class IcePdf { public static void pdf2Pic(String pdfPath, String path) throws Exception { Document document = new Document(); document.setFile(pdfPath); //縮放比例 float scale = 2.5f; //旋轉角度 float rotation = 0f; for (int i = 0
; i < document.getNumberOfPages(); i++) { BufferedImage image = (BufferedImage) document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale); RenderedImage rendImage = image; try { //String imgName = i + ".png"; File pdfFile =new File( pdfPath.trim()); String imgName = pdfFile.getName(); imgName = imgName.substring(0,imgName.indexOf("."))+".png"; System.out.println(imgName); File file = new File(path + imgName); ImageIO.write(rendImage, "png", file); } catch (IOException e) { e.printStackTrace(); } image.flush(); } document.dispose(); } public static void main(String[] args) throws Exception { String filePath = "D:/Users/heyaolei/Desktop/useless/20211008/pdf/電子發票.pdf"; pdf2Pic(filePath, "D:/Users/heyaolei/Desktop/useless/20211008/pdf/"); } }

參考文件:https://www.jianshu.com/p/2242c0a4d348