產品比較

如何使用Itextsharp將PDF轉換為圖像

Chipego
奇佩戈·卡林达
2023年8月24日
分享:

在當今數位化程度日益增加的世界中,便攜式文件格式(PDF)已成為共享和保存數位文件的普遍文件格式。 然而,在某些情況下,將 PDF 轉換為圖像變得必要,為用戶解鎖了多種可能性。 將 PDF 轉換為圖像格式提供了一個多功能的解決方案,能夠將文件無縫整合到簡報、網頁或社交媒體平台中。 在這個視覺傳達的時代,將PDF轉換為圖像的能力提升了可訪問性,並為創造力和便利性開闢了新的途徑。 本文探討了使用 Java 及可用工具將 PDF 轉換為圖像的重要性,以有效地完成此任務。

為此,我們將使用並比較以下兩個 Java PDF 庫:

  1. iTextSharp (iText7)

  2. IronPDF

如何使用 iTextSharp 將 PDF 文件轉換為圖像

  1. 要使用iTextSharp(iText7)將PDF文件轉換為圖像,首先設置環境。

  2. 使用renderPdf物件載入現有的PDF檔案。

  3. 使用 PDF 檔案上的 PdfRenderImageType 方法設定渲染屬性。

  4. 使用PdfToImageRenderer來實例化PDF文檔的轉換。

  5. 使用OUTPUT_DIRECTORY將圖像保存到指定路徑。

1. IronPDF for Java

IronPDF for Java 在 Java 程式設計生態系中開啟了強大的 PDF 操作和生成功能的大門。 隨著企業和開發人員尋求有效的解決方案以程式化地處理與 PDF 相關的任務,IronPDF 成為一個可靠且功能豐富的程式庫。 無論是將 HTML 內容轉換為 PDF、合併、拆分或編輯現有的 PDF 文件,IronPDF 為 Java 開發人員提供了一整套強大的工具以簡化其工作流程。 此程式庫易於整合且擁有詳盡的文件,使 Java 應用程式能夠無縫地與 PDF 互動,為所有 PDF 相關需求提供全面的解決方案。 在這篇文章中,我們將探討IronPDF for Java的主要功能和優點,並說明它如何簡化Java應用程式中的PDF處理過程。

2. iTextSharp for Java (iText7)

iTextSharp for Java (iText7),是一個強大多功能的 PDF 函式庫,使開發人員能夠以程式化方式創建、修改和操作 PDF 文件。 最初為 .NET 開發的 iTextSharp(iText7)已被改編為 Java,為 Java 生態系統內的所有 PDF 相關任務提供了無縫且高效的解決方案。 iText7 具有廣泛的功能和易於使用的 API,使 Java 開發人員能夠輕鬆生成動態 PDF、添加內容、插入圖像以及從現有的 PDF 中提取數據。 無論是建立發票、生成報告,還是將PDF處理整合到企業應用中,iText7都是一個寶貴的工具,使開發人員能夠完全掌控其PDF處理需求。 在本文中,我們將探索 iTextSharp for Java (iText7) 的基本功能和優點,並通過實際範例展示其能力。

3. 安裝 IronPDF Java 庫

要將IronPDF及其所需的logger依賴SLF4J整合到您的Maven專案中,請按照以下步驟操作:

  1. 開啟您的專案的pom.xml檔案。

  2. 導航至依賴項部分。 如果尚未存在,請創建一個。

  3. 為 IronPDF 和 SLF4J 包含以下依賴項目:
        <dependency>
            <groupId>com.ironsoftware</groupId>
                <artifactId>com.ironsoftware</artifactId>
                <version>2023.7.2</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
            <version>2.0.3</version>
        </dependency>
XML
  1. 保存 pom.xml 文件。

    如何使用 iTextSharp 將 PDF 轉換為圖像:圖 1

    就是這樣! 只需按下上方顯示的按鈕即可將這些依賴項包含在您的專案中。

4. 安裝 iText7 Java 庫

要安裝iText7,請按照以下步驟添加依賴項:

  1. 打開pom.xml文件。

  2. 查找 dependencies 標籤。 如果它們不存在,請創建它們並將以下代碼放置在這些標籤之間:
    <!-- https://mvnrepository.com/artifact/com.itextpdf/itext7-core -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext7-core</artifactId>
        <version>8.0.0</version>
        <type>pom</type>
    </dependency>
XML
  1. 點擊出現在螢幕右上角的小按鈕。

    就這樣,您的依賴已安裝完成。

5. 使用 IronPDF 將 PDF 文件轉換為圖像

使用 IronPDF 從 PDF 頁面提取圖像比您想像的要簡單,只需幾行程式碼。 IronPDF 提供對多種圖像檔案類型的相容性,如 JPEG 和 PNG。

在本節中,我們將通過示例代碼介紹如何使用IronPDF for Java將PDF文件轉換為圖像。

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.io.File;

public class Main {
    public static void main(String [] args) throws Exception {
        // Create a new PdfDocument instance
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("composite.pdf"));
        List<BufferedImage> images = pdf.extractAllImages();
        int i = 1;
        for (BufferedImage extractedImage : images) {
            String fileName = "assets/extracted_" + i++ + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
        }
    }
}
JAVA

上述代碼首先使用PdfDocument.fromFile()方法打開PDF文件,該方法以文件路徑作為參數。 然後使用extractAllImages()方法從 PDF 文件中提取所有圖像,並將它們保存到名為images的列表中。 然後,它循環遍歷圖像並使用 ImageIO.write() 方法保存每個圖像,該方法將圖像、文件類型 ("PNG") 和路徑 + 名稱作為參數。

輸出目錄截圖

如何使用 iTextSharp 將 PDF 轉換為圖像:圖 2

6. 使用 iText7 將 PDF 檔案轉換為圖像

在本節中,我們將看到如何使用iText7 Java PDF庫從PDF中提取圖像。 以下是 iText7 PDF 圖像擷取的範例代碼。

import com.itextpdf.pdfrender.PdfRenderImageType;
import com.itextpdf.pdfrender.PdfToImageRenderer;
import com.itextpdf.pdfrender.RenderingProperties;

import java.io.File;
import java.io.IOException;

public class PdfRender_Demo {

    private static String ORIG = "/uploads/input.pdf";
    private static String OUTPUT_DIRECTORY = "/myfiles/";

    public static void main(String [] args) throws IOException {
        final RenderingProperties properties = new RenderingProperties();
        properties.setImageType(PdfRenderImageType.JPEG);
        properties.setScaling(1.0f);

        PdfToImageRenderer.renderPdf(new File(ORIG), new File(OUTPUT_DIRECTORY), "/customfilename-%d", properties);
    }
}
JAVA

使用iText7時,發現iText7速度慢,且無法輕鬆處理大型文件。

輸出

如何使用 iTextSharp 將 PDF 轉換為圖像:圖 3

7. 結論

在當今數位化的世界中,將 PDF 轉換為圖像的能力提供了多樣化的可能性,使得文件能夠無縫整合到演示文稿、網頁或社交媒體平台中,從而提升可及性和創造力。 iTextSharp for Java (iText7) 和 IronPDF for Java 都為此任務提供了有價值的解決方案。

iTextSharp 為開發人員提供了一個強大且多功能的 PDF 庫,讓他們可以以程式化方式創建、修改和操作 PDF 文件。 然而,它可能在處理大型文件和較慢的處理速度時面臨挑戰。

相比之下,IronPDF for Java 頁面提供了一個功能豐富且高效的庫,為開發人員提供處理 PDF 相關任務的程式工具,包括提取圖像、合併、分割和編輯 PDF 文檔。 IronPDF 進行 PDF 轉圖像轉換 在此比較中明顯勝出。

如需完整的 Java 提取 PDF 圖像教學,請訪問以下使用 IronPDF for Java 提取圖像的綜合指南。 完整的比較可在此PDF 到圖像庫的完整比較中找到。

iText7 價格資訊 起價為每個 PDF $0.15。 至於IronPDF,提供一次性購買的終身授權,起價為 $liteLicense,並且還提供IronPDF 的免費試用授權。 如需更多資訊,請造訪 IronPDF 授權資訊

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
Adobe Reader SDK 與 IronPDF 在 C# 中的比較
下一個 >
iText7 在 C# 中讀取 PDF 的替代方案(VS IronPDF)