
如何在 Java 中生成 PDF
本文将讨论如何使用Java PDF库生成PDF文件。
1. IronPDF for Java
IronPDF for Java是一个简化在Java应用程序中生成PDF文档的库。 它提供了一个简单易用的API,使开发人员可以轻松创建和操作PDF文档。 IronPDF的一些显著功能包括创建新的PDF文档、将HTML页面转换为PDF、向PDF文档添加文本、图像和表格、生成PDF表单以及提取内容。
IronPDF提供了广泛的功能范围用于生成、格式化和编辑PDF文件。 该库兼容各种选项,且不是一个开源Java库。 使用IronPDF,用户可以从XML文档和图像文件创建PDF文档,或编辑和添加书签到现有的PDF中。
2. 先决条件
在Java中实现一个PDF文件生成器之前,必须满足一些基本要求。 这些前提条件包括
- 需要在系统上安装Java并在环境变量中设置其路径。 如果您还没有安装Java,可以按照这个Java网站的下载链接进行安装。
- 您需要一个Java IDE,例如Eclipse或IntelliJ来编写和执行代码。 如果您尚未安装这些,可以从此下载链接下载Eclipse或从此JetBrains下载链接下载IntelliJ。
- Maven应与您的Java IDE集成,以管理依赖项并构建项目。 如果您需要帮助将Maven集成到您的IDE中,这个JetBrains的教程可以帮助您。
一旦满足了这些先决条件,您就可以设置项目,开始在Java中创建PDF文件。
3. IronPDF for Java安装
满足所有必要的要求后,将IronPDF添加到您的Java项目中变得很简单,甚至对于那些新手程序员。 本指南将使用JetBrains IntelliJ IDEA作为主要的Java IDE来安装库并运行代码示例。
要开始,打开 JetBrains IntelliJ IDEA 并创建一个新的 Maven 项目。
创建一个新的Maven项目
当您在JetBrains IntelliJ IDEA中启动创建新项目的过程时,一个新窗口会弹出。这个窗口会提示您输入项目的名称。 一旦输入了合适的名称,只需点击"完成"按钮即可继续。
命名您的项目
当您点击"完成"按钮后,一个新的项目将在JetBrains IntelliJ IDEA中打开,您将看到pom.xml文件。此文件将用于添加Maven项目所需的依赖项。
The pom.xml file
在pom.xml文件中添加以下依赖项。通过添加这些依赖项,我们可以确保项目运行所需的所有必要库和包都可用。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>latest.version</version>
</dependency>
成功将上述依赖项添加到pom.xml文件后,您会注意到在文件的右上角出现一个小图标。
安装缺失的依赖项
只需点击此图标即可安装依赖项。 这个过程只需几分钟,具体取决于您的互联网连接速度。
4. 生成 PDF 文件
本节将讨论如何使用IronPDF for Java生成PDF文件。 使用IronPDF生成PDF文件的方法有很多,但这两种方法被证明是最优化的。
- 创建PDF文件
- 生成一个受密码保护的PDF文件
4.1. 创建PDF文档
使用IronPDF生成PDF文件有许多方法。 然而,本文只讨论其中的两种方法:
- URL 到 PDF
- HTML字符串转PDF
4.1.1. URL转PDF
IronPDF的一个关键功能是能够将URL转换为PDF文件。这个功能使得开发人员可以轻松地将网页转换为PDF,用于应用程序中。 以下是一个示例代码,用于以上将URL创建新文档。
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class Main { // Class names should be capitalized
public static void main(String[] args) throws IOException {
// Convert a URL to a PDF document
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.pinterest.com/?show_error=true#top");
// Save the generated PDF to a file
myPdf.saveAs(Paths.get("url.pdf"));
}
}
生成的PDF文件显示了通过将URL转换为PDF文件创建的PDF。
输出 PDF 文件
4.1.2. HTML字符串转PDF
在此源代码中,通过将HTML字符串转换为PDF来创建一个新的PDF文件。
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
// Convert an HTML string to a PDF document
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
下图显示上述代码的输出,通过HTML字符串创建一个PDF文件。
输出 PDF 文件
4.2. 生成一个受密码保护的PDF文件
IronPDF可用于在Java中生成受密码保护的PDF文件。 要使用IronPDF生成受密码保护的PDF文件,只需按照以下代码示例操作:
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
// Convert an HTML string to a PDF document
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Secured file Made with IronPDF!");
// Setup security options for the PDF document
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setOwnerPassword("123abc"); // Set the owner password
securityOptions.setUserPassword("secretPassword"); // Set the user password
// Apply security options to the PDF document
SecurityManager securityManager = myPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
// Save the password-protected PDF to a file
myPdf.saveAs(Paths.get("secured.pdf"));
}
}
需要密码的PDF文件
一旦您输入正确的密码即可访问PDF文件。
输出 PDF 文件
5. 结论
在Java中生成PDF文件已成为许多Java项目的一个关键方面。 IronPDF 适用于 Java是一个提供简单API的库,使开发人员可以轻松创建和操作PDF文档。 要开始使用IronPDF,您需要拥有Java、Java IDE和与IDE集成的Maven。一旦满足了这些先决条件,您就可以将必要的依赖项添加到Maven项目中并创建PDF文件。
IronPDF提供了几种生成PDF的方式,比如将URL转PDF、将HTML字符串转PDF,以及创建受密码保护或数字签名的PDF文件。 有了IronPDF,在Java中生成PDF文件从未如此简单。
IronPDF for Java可免费用于开发用途,但商业使用需获得许可证。 但是,您可以获得免费的30天试用许可证,以测试IronPDF for Java的功能。

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.
Related Articles


