首頁 > 軟體

Java實現將PDF轉為圖片格式的方法詳解

2023-03-23 22:04:16

PDF檔案和圖片檔案,這是兩種完全不一樣的格式,可是有的時候這兩種格式卻是有相互轉換的需要,大家在工作中遇到PDF檔案轉圖片檔案的問題時是怎麼解決的呢?你們使用的方法簡單方便嗎?如果很麻煩的話,不妨來了解一下這篇文章分享的方法哦。本文將介紹如何通過Java應用程式快速高效地將PDF轉為圖片格式。一起來看看吧!

  • 將整個 PDF 檔案轉換為多個圖片
  • 將指定 PDF 頁面轉換為圖片

程式碼編譯環境

IntelliJ IDEA 2019(jdk 1.8.0)

PDF Jar包:Free Spire.PDF for Java 5.1.0

1.引入jar

匯入方法1:

手動引入。將Free Spire.PDF for Java下載到本地,解壓,找到lib資料夾下的Spire.PDF.jar檔案。在IDEA中開啟如下介面,將本地路徑中的jar檔案引入Java程式:

 匯入方法2:如果您想通過 Maven安裝,則可以在 pom.xml 檔案中新增以下程式碼匯入 JAR 檔案。

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.pdf.free</artifactId>

        <version>5.1.0</version>

    </dependency>

</dependencies>

將整個 PDF 檔案轉換為多個圖片

僅需三步即可將整個 PDF 檔案轉換為多個圖片,詳細步驟如下:

  • 建立 PdfDocument 類的物件,並通過 PdfDocument.loadFromFile(String filename) 方法載入 PDF 檔案。
  • 迴圈遍歷 PDF 每一頁,並通過 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法將 PDF 頁面儲存為圖片格式。
  • 指定圖片格式為 .png 格式。

完整程式碼

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImageType;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class PDFtoImage {
    public static void main(String[] args)throws IOException {
        //範例化PdfDocument類的物件
        PdfDocument pdf = new PdfDocument();

        //載入PDF檔案
        pdf.loadFromFile("都江堰.pdf");

        //遍歷PDF每一頁,儲存為圖片
        for (int i = 0; i < pdf.getPages().getCount(); i++) {
            //將頁面儲存為圖片,並設定DPI解析度
            BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap,500,500);
            //將圖片儲存為png格式
            File file = new File( String.format(("ToImage-img-%d.png"), i));
            ImageIO.write(image, "PNG", file);
        }
        pdf.close();
    }
}

效果圖

將指定 PDF 頁面轉換為圖片

以下是實現格式轉換的主要步驟:

  • 建立 PdfDocument 類的範例。
  • 通過 PdfDocument.loadFromFile(String filename) 方法載入 PDF 檔案。
  • 呼叫 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法將 PDF 指定頁面儲存為圖片。
  • 設定圖片格式為 .png 格式。

完整程式碼

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImageType;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class PDFtoImage {
    public static void main(String[] args) throws IOException {
        //建立PdfDocument類的範例
        PdfDocument pdf = new PdfDocument();

        //載入PDF檔案
        pdf.loadFromFile("都江堰.pdf");

        //將PDF第1頁儲存為圖片,並設定圖片DPI解析度
        BufferedImage image= pdf.saveAsImage(0, PdfImageType.Bitmap,500,500);

        //儲存為png格式
        ImageIO.write(image, "PNG", new File("ToPNG.png"));
    }
}

效果圖

到此這篇關於Java實現將PDF轉為圖片格式的方法詳解的文章就介紹到這了,更多相關Java PDF轉圖片內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com