跳過到頁腳內容
產品比較

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

在今日日益數位化的世界中,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相關任務提供了一個無縫且高效的解決方案。 憑藉其廣泛的功能和易於使用的API,iText7使Java開發者能夠輕鬆生成動態PDF、添加內容、插入圖片並從現有PDF中提取數據。 無論是創建發票、生成報告或將PDF處理集成到企業應用中,iText7都是一個寶貴的工具,使開發者能夠完全控制其PDF處理要求。 在本文中,我們將探討iTextSharp for Java (iText7)的基本功能和優勢,並通過實際例子展示其能力。

3. 安裝 IronPDF Java 庫

要將 IronPDF 及其所需的日誌器依賴項 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>
    <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
  4. 保存pom.xml文件。

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

就是這樣! 只需按上面顯示的按鈕將這些依賴項包含到您的項目中。

4. 安裝 iText7 Java 庫

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

  1. 打開pom.xml文件。
  2. 查找依賴項標籤。 如果它們不存在,請創建它們,並將以下代碼放置於這些標籤之間:

    <!-- 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>
    <!-- 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
  3. 點擊屏幕右上角顯示的小按鈕。

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

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

使用 IronPDF 從 PDF 頁面提取圖像比您想象的要簡單,只需幾行代碼。 IronPDF 提供了對許多圖像文件類型的兼容性,例如 JPEG 和 PNG。

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

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

public class Main {
    public static void main(String[] args) throws Exception {
        // Load the PDF document
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("composite.pdf"));

        // Extract all images from the PDF document into a list
        List<BufferedImage> images = pdf.extractAllImages();

        int i = 1; // Image counter
        // Traverse the extracted images list and save each image
        for (BufferedImage extractedImage : images) {
            String fileName = "assets/extracted_" + i++ + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName)); // Save image as PNG
        }
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.nio.file.Paths;
import java.util.List;
import java.io.File;

public class Main {
    public static void main(String[] args) throws Exception {
        // Load the PDF document
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("composite.pdf"));

        // Extract all images from the PDF document into a list
        List<BufferedImage> images = pdf.extractAllImages();

        int i = 1; // Image counter
        // Traverse the extracted images list and save each image
        for (BufferedImage extractedImage : images) {
            String fileName = "assets/extracted_" + i++ + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName)); // Save image as PNG
        }
    }
}
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 final String ORIG = "/uploads/input.pdf";
    private static final String OUTPUT_DIRECTORY = "/myfiles/";

    public static void main(String[] args) throws IOException {
        // Set rendering properties for the PDF to image conversion
        final RenderingProperties properties = new RenderingProperties();
        properties.setImageType(PdfRenderImageType.JPEG); // Set image type to JPEG
        properties.setScaling(1.0f); // Maintain original size

        // Perform rendering from PDF to Image format
        PdfToImageRenderer.renderPdf(
            new File(ORIG),
            new File(OUTPUT_DIRECTORY),
            "/customfilename-%d",
            properties
        );
    }
}
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 final String ORIG = "/uploads/input.pdf";
    private static final String OUTPUT_DIRECTORY = "/myfiles/";

    public static void main(String[] args) throws IOException {
        // Set rendering properties for the PDF to image conversion
        final RenderingProperties properties = new RenderingProperties();
        properties.setImageType(PdfRenderImageType.JPEG); // Set image type to JPEG
        properties.setScaling(1.0f); // Maintain original size

        // Perform rendering from PDF to Image format
        PdfToImageRenderer.renderPdf(
            new File(ORIG),
            new File(OUTPUT_DIRECTORY),
            "/customfilename-%d",
            properties
        );
    }
}
JAVA

在使用 iText7 的過程中,觀察到 iText7 的速度較慢,難以輕鬆處理大文件。

輸出

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

7. 結論

在當今數字化的世界中,將 PDF 轉換為圖片的能力提供了多樣的可能性,無縫地將文件整合到演示文稿、網頁或社交媒體平台中,提高了可訪問性和創意性。 Java 的 iTextSharp(iText7)和 IronPDF 都為這項任務提供了寶貴的解決方案。

iTextSharp 為開發者提供了一個強大且多功能的 PDF 庫,使得程序化創建、修改和操作 PDF 文件成為可能。 然而,面對大文件時,它可能遇到挑戰,處理速度較慢。

相比之下,IronPDF for Java 頁面 提供了一個功能豐富且高效的庫,為開發者提供了處理 PDF 相關任務的工具,包括提取圖像、合併、分割和編輯 PDF 文件。 IronPDF for PDF to Image Conversion 在這次比較中顯然勝出。

完整的 Java 使用指南,如何提取 PDF 中的图像,請訪問以下IronPDF for Java 提取影像指南的詳細指南。 完整的比較可以在這完整的 PDF 到圖像庫比較 中查看。

iText7 價格信息從每個 PDF $0.15 開始。 至於 IronPDF,提供從 $liteLicense 的單次購買開始的終身許可證,並且還提供IronPDF 免費試用許可證。 有關更多信息,請訪問IronPDF 許可證信息

請注意iTextSharp (iText7) 是其各自所有者的註冊商標。 本網站與iTextSharp (iText7) 無關,未經其認可或贊助。 所有產品名稱、徽標和品牌均為其各自所有者的財產。 比較僅供信息參考,並反映撰寫時公開可用的信息。

常見問題解答

為什麼將PDF轉換為圖像很重要?

將PDF轉換為圖像很重要,因為它允許靈活的文件集成到演示文稿、網頁及社交媒體平台中,增強可訪問性和創意性視覺交流。

使用特定Java庫進行PDF操作的好處有哪些?

IronPDF for Java提供強大的PDF操作功能,包括將HTML轉換為PDF、合並、拆分和編輯文檔。它功能豐富,易於整合,並提供廣泛的文檔。

一個Java PDF庫如何與另一個不同?

iTextSharp(iText7)提供一個用於程序化創建和操作PDF的強大庫,但可能難以處理大文件且處理速度較慢。相反,IronPDF高效且提供全面的PDF相關工具。

使用特定的PDF庫將PDF轉換為圖像的步驟是什麼?

要使用IronPDF將PDF轉換為圖像,首先加載PDF文檔,指定所需的圖像格式(例如JPEG或PNG),然後使用IronPDF提供的圖像轉換方法保存輸出圖像。

如何安裝Java庫以進行PDF操作?

要安裝IronPDF,將IronPDF和SLF4J依賴項添加到Maven項目的pom.xml文件中,然後保存文件以集成庫。

使用特定PDF庫提取圖像的過程是什麼?

使用IronPDF,加載PDF文檔,使用extractAllImages方法將圖像提取到列表中,並使用ImageIO.write保存每個圖像。

使用特定Java庫進行PDF操作的優勢有哪些?

iTextSharp(iText7)用途廣泛,允許開發人員程序化創建、修改和操作PDF文件。適用於生成動態PDF、添加內容和提取數據。

Java PDF庫是否提及任何價格細節?

iText7的價格從每PDF 0.15美元起。IronPDF提供從$liteLicense開始的終身許可並提供免費試用許可。

使用特定PDF庫將PDF文件轉換為圖像的步驟是什麼?

要使用IronPDF將PDF轉換為圖像,初始化文檔,選擇輸出圖像格式,並處理PDF頁面生成可保存到所需位置的圖像。

在哪裡可以找到關於使用特定Java庫提取圖像的全面指南?

IronPDF for Java的全面指南可在IronPDF網站上獲得,提供詳細的說明和範例代碼。

處理大型PDF文件轉換為圖像的方式是什麼?

IronPDF通過利用優化的內存管理和轉換算法有效地處理大型PDF文件,確保快速和可靠的PDF到圖像轉換。

使用PDF庫可以將PDF頁面轉換為哪些格式?

IronPDF支持將PDF頁面轉換為各種圖像格式,如JPEG和PNG,根據您的具體項目要求提供靈活性。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。