在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
在当今日益数字化的世界中,便携文档格式(PDF)已成为共享和保存数字文档的无处不在的文件格式。 不过,在某些情况下,将 PDF 转换为图像是必要的,因为这将为用户带来无数的可能性。 将 PDF 转换为图像格式提供了一种多功能解决方案,可将文档无缝集成到演示文稿、网页或社交媒体平台中。 在这个视觉交流的时代,将 PDF 转换成图像的能力提高了可访问性,并为创造性和便利性开辟了新的途径。 本文探讨了使用 Java 将 PDF 转换为图像的意义,以及高效完成这项任务的可用工具。
为此,我们将使用并比较以下两个 Java PDF 库:
iTextSharp (iText7)
要使用iTextSharp(iText7)将PDF文件转换为图像,首先设置环境。
使用renderPdf
对象加载现有的PDF文件。
使用PdfRenderImageType
方法设置PDF文件的渲染属性。
使用PdfToImageRenderer
实例化PDF文档的转换。
OUTPUT_DIRECTORY
将图像保存到指定路径。IronPDF for Java 在 Java 编程生态系统中为强大的 PDF 操作和生成功能打开了大门。 随着企业和开发人员寻求高效的解决方案,以编程方式处理 PDF 相关任务,IronPDF 作为一个可靠且功能丰富的库应运而生。 无论是将 HTML 内容转换为 PDF,还是合并、拆分或编辑现有的 PDF 文档,IronPDF 都能为 Java 开发人员提供一套强大的工具来简化他们的工作流程。 该库具有易于集成和文档丰富的特点,使 Java 应用程序能够与 PDF 进行无缝交互,为所有与 PDF 相关的需求提供了全面的解决方案。 本文将探讨 IronPDF for Java 的主要功能和优势,并说明它如何简化 Java 应用程序中的 PDF 处理流程。
iTextSharp for Java (iText7),一个强大且通用的PDF库,为开发人员提供了通过编程创建、修改和操作PDF文档的能力。 iTextSharp(iText7)最初为.NET开发,已被改编为Java,为Java生态系统中的所有PDF相关任务提供了无缝且高效的解决方案。 iText7 具有广泛的功能和易于使用的 API,使 Java 开发人员能够毫不费力地生成动态 PDF、添加内容、插入图像以及从现有 PDF 中提取数据。 无论是创建发票、生成报告,还是将 PDF 处理集成到企业应用程序中,iText7 都是一个宝贵的工具,它使开发人员能够完全控制其 PDF 处理要求。 在本文中,我们将探讨iTextSharp for Java (iText7)的基本功能和优势,并通过实际示例展示其能力。
要将 IronPDF 及其所需的日志记录器依赖项 SLF4J 集成到 Maven 项目中,请按照以下步骤操作:
打开项目的pom.xml文件。
导航至 "依赖关系 "部分。 如果还没有,请创建一个。
<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>
保存pom.xml文件。
就是这些! 只需按下上面显示的按钮,就能将这些依赖项纳入项目。
要安装 iText7,请按照以下步骤添加依赖关系:
打开pom.xml文件。
<!-- 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>
点击屏幕右上方出现的小按钮。
就这样,你的依赖项就安装好了。
使用 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));
}
}
}
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));
}
}
}
上述代码首先使用 PdfDocument.fromFile()
方法打开 PDF 文件,该方法将文件路径作为参数。 然后,它使用extractAllImages()
方法从PDF文档中提取所有图像,并将它们保存到名为images
的列表中。 然后,它循环遍历图像,并使用ImageIO.write()
方法保存每个图像,该方法将图像、文件类型("PNG")和路径+名称作为参数。
在本节中,我们将了解如何使用 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);
}
}
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);
}
}
在使用 iText7 时,发现 iText7 速度较慢,无法轻松处理大文件。
在当今的数字化世界中,将 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 许可信息。