跳至页脚内容
产品比较

如何使用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. 使用 PdfRenderImageType 方法在 PDF 文件上设置渲染属性。
  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. Java 的 iTextSharp (iText7)

Java 的 iTextSharp (iText7),一个功能强大且多用途的 PDF 库,使开发人员能够以编程方式创建、修改和操作 PDF 文档。 iTextSharp(iText7) 最初为 .NET 开发,现已适用于 Java,提供了在 Java 生态系统中处理所有与 PDF 相关任务的无缝和高效解决方案。 借助其广泛的功能和易于使用的 API,iText7 使 Java 开发人员能够轻松生成动态 PDF、添加内容、插入图像,以及从现有 PDF 中提取数据。 无论是创建发票、生成报告,还是将 PDF 处理集成到企业应用程序中,iText7 都是一个有价值的工具,让开发人员能够完全控制其 PDF 处理需求。 本文中,我们将探索 Java 的 iTextSharp (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 for Java 为此任务提供了有价值的解决方案。

iTextSharp 为开发人员提供了一个功能强大且多用途的 PDF 库,使得以编程方式创建、修改和操作 PDF 文档成为可能。 然而,它可能在处理大文件和处理速度较慢时面临挑战。

相比之下,Java 的 IronPDF 页面 提供了一个功能丰富且高效的库,为开发人员提供处理与 PDF 相关任务的工具,包括提取图像、合并、拆分和编辑 PDF 文档。 IronPDF for PDF to Image Conversion 在这个比较中显然胜出。

要了解有关使用 Java 从 PDF 中提取图像的完整教程,请访问以下 有关使用 IronPDF for Java 提取图像的综合指南。 完整比较可在此处获得 PDF 到图像库的完整比较

iText7 定价信息 起价为每 PDF 0.15 美元。 至于 IronPDF,它提供了一个从 $liteLicense 开始的一次性购买的终身许可证,还提供了一个IronPDF 的免费试用许可证。 欲了解更多信息,请访问IronPDF 许可证信息

[{i:(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 提供的图像转换方法保存输出图像。

如何安装用于 PDF 操作的 Java 库?

要安装 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 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。