引入依賴
<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.26</version> </dependency>
代碼
package other; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.ImageType; 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 Main2 { public static void main(String[] args) throws IOException { pdf2image(); } public static void pdf2image() throws IOException { PDDocument doc = PDDocument.load(new File("123.pdf")); int numberOfPages = doc.getNumberOfPages(); PDFRenderer renderer = new PDFRenderer(doc); for (int i = 0; i < numberOfPages; i++) { // 頁碼,從0開始;scale 1 = 72DPI,值越大像素越高;圖片類型 BufferedImage bufferedImage = renderer.renderImage(i, 2, ImageType.RGB); String fileName = String.format("123-%d.PNG", i); ImageIO.write(bufferedImage, "PNG", new File(fileName)); } } }
PDF:
輸出的圖片: