如何从 Java 应用程序动态生成 PDF 文件
本教程将解释如何在 Java 应用程序中动态创建 PDF 文件,并探讨从文本、URL 和 HTML 页面创建 PDF 页面的代码示例。 之后,它将涵盖从新文档实例创建受密码保护的 PDF 文件。
IronPDF Java 库是实现这一目的的理想选择,因为它可以免费用于开发,更加安全,在一个库中提供所有功能,准确率达到 100%,而且性能特别好。
在继续前行之前,我们先来简单介绍一下 IronPdf。
如何从 Java 应用程序动态生成 PDF 文件
- 安装 Java 库以动态生成 PDF
- 从自定义HTML字符串创建PDF
- 从具有复杂CSS样式的HTML文件生成PDF
- 使用URL链接生成PDF,并可以在Java中添加页眉和页脚
- 为动态生成的PDF文件设置密码
IronPDF。
IronPDF Java Library 是 Iron Software 开发的最流行的 Java PDF 库,用于创建 PDF、编辑新文件和操作现有 PDF。 它的设计兼容多种 JVM 语言,包括 Java、Scala 和 Kotlin,并可在多种平台上运行,包括 Windows、Linux、Docker、Azure 和 AWS。 IronPDF 可与 IntelliJ IDEA 和 Eclipse 等流行的集成开发环境配合使用。
主要功能包括 从 HTML、HTTP、JavaScript、CSS、XML 文档和各种图像格式创建 PDF 文件的能力。 此外,IronPDF 还提供添加页眉和页脚、在 PDF 中创建表格的功能、添加数字签名、附件、实现密码和安全功能。 它支持完整的多线程和更多!
现在,让我们从创建动态文档的代码示例开始。
首先,创建一个新的 Maven 资源库项目。
创建一个新的Java项目
为便于演示,本教程将使用 IntelliJ IDE。您可以使用自己选择的集成开发环境。创建新 Java 项目的步骤可能因 IDE 而异。请使用以下步骤:
1.启动 IntelliJ IDE。
- 选择文件>新建>项目。 3.输入项目标题。 4.选择地点、语言、构建系统和 JDK。
- 点击创建按钮。
!如何从 Java 应用程序动态生成 PDF 文件,图 1:创建项目。 创建项目
命名您的项目,选择位置、语言、构建系统和 JDK,然后选择 创建按钮选项。 将创建一个新项目。
现在,在此演示 Java 应用程序中安装 IronPDF for Java。
安装 IronPDF for Java 库
下一步是在 pom.xml 文件中添加安装 IronPdf 的依赖关系。 如下所示,在 pom.xml 文件中添加以下 XML 源代码。
<!-- Add IronPDF to your Maven Project -->
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency><!-- Add IronPDF to your Maven Project -->
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>将 INSERT_LATEST_VERSION_HERE 替换为 Maven 代码库中 IronPDF 的最新版本。
添加依赖关系后,构建项目。 应用程序将自动从 Maven 资源库中安装库。
让我们从一个将 HTML 字符串转换为 PDF 文件的简单例子开始。
创建 PDF 文档
请考虑以下示例:
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}在上述函数中,HTML 内容被分配给一个字符串变量。 [renderHtmlAsPdf 方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String))以字符串为参数,将 HTML 内容转换为 PDF 文档实例。 [saveAs 方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.nio.file.Path))接受位置路径作为输入,并将 PDF 文件的实例保存在选定的目录中。
由上述代码生成的 PDF 如下所示。
!如何从 Java 应用程序动态生成 PDF 文件,图 2:输出。 Output
从 HTML 文件生成 PDF 文件
IronPDF 还提供从 HTML 文件生成 PDF 文件的神奇功能。
示例中将使用的 HTML 文件示例如下所示。
!如何从 Java 应用程序动态生成 PDF 文件,图 3:带新段落的渲染 HTML 使用新段落渲染 HTML.
以下是生成 PDF 的示例代码片段:
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}[renderHtmlFileAsPdf 方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlFileAsPdf(java.lang.String))接受 HTML 文件的路径作为参数,并从 HTML 文件生成 PDF 文档。然后,使用 saveAs 方法将 PDF 文件保存到本地驱动器。
该程序生成的 PDF 格式文件如下所示。
!如何从 Java 应用程序动态生成 PDF 文件,图 4:PDF 输出。 PDF 输出
下一步是使用一个包含 JavaScript 和 CSS 的相当大的 HTML 文档,并在将 HTML 转换为 PDF 时检查设计的准确性和一致性。
从 HTML 文件生成 PDF 文件
将使用以下 HTML 页面示例,其中包括图片、动画、样式、jQuery 和 Bootstrap。
!如何从 Java 应用程序动态生成 PDF 文件,图 5:示例 HTML 页面。 HTML 页面示例
!如何从 Java 应用程序动态生成 PDF 文件,图 6:HTML 示例。 HTML示例
从 HTML 文档示例中可以看出,该文档具有丰富的样式并包含图形。 该 HTML 文件将被转换为 PDF 文档,并将对内容和样式的准确性进行评估。
将使用上述示例中的同一行代码。
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}前面的例子已经包含了代码解释。 其他内容不变;
这是输出的 PDF 文件:
HTML 转 PDF
使用 IronPDF 创建 PDF 文件非常简单。 源文件的格式和内容必须保持一致。
也可使用 URL 创建 PDF 文件。
将 URL 转换为 PDF 文档
以下代码示例将从 URL 生成 PDF 文件。
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}[renderUrlAsPdf 函数](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderUrlAsPdf(java.lang.String))接受 URL 作为参数并将其转换为 PDF 文档。 该 PDF 文档随后将使用 saveAs 功能保存到本地驱动器。
以下是输出的 PDF 文件:
输出 PDF
还可以添加水印、页眉、页脚、数字签名、转换 XML 文件/JSP 页面等。
下一步是生成受密码保护的 PDF。
生成受密码保护的 PDF 文件
以下示例代码演示了为生成的 PDF 文件添加安全性的示例。
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}通过上述代码,PDF 文件为只读文件,不允许进行编辑或段落对齐。 文件还限制打印,确保无法打印。 还设置了密码。 文件现在非常安全。 通过这种方式,可以定义不同的文件权限,并使用 IronPDF 生成动态输出。
摘要
本教程演示了如何生成 PDF 文件。 根据 HTML 字符串、HTML 文件和 URL 创建 PDF 文件,示例从简单到复杂不等。 还有很多有用的功能,如添加水印、页脚、页眉、前景色、合并和拆分页面等。这里无法一一介绍; 请访问IronPDF官方文档进行进一步探讨。
通过 IronPDF,HTML 到 PDF 的转换变得轻而易举。 只需一行代码即可将 HTML 转换为 PDF。 PDF 文件中还添加了一些安全措施。它更快、更准确、更安全。 每个生成的 PDF 都包含 IronPDF 水印。 这是因为使用的是权限有限的免费开发版本,而不是商业许可证。 您可以根据需要购买 免费试用版或 完整许可证,以摆脱这种情况。
常见问题解答
如何在Java中从HTML生成PDF文件?
您可以通过使用IronPDF的renderHtmlAsPdf方法将HTML字符串转换,以及renderHtmlFileAsPdf方法用于HTML文件,在Java中从HTML生成PDF文件。
我应该使用什么方法在Java中将URL转换为PDF?
要在Java中将URL转换为PDF,请使用IronPDF的renderUrlAsPdf方法,这使您可以轻松地从网页创建PDF。
如何在Java中用密码保护PDF?
在Java中,您可以使用IronPDF设置SecurityOptions来为PDF文档添加密码并管理权限,从而保护PDF。
IronPDF在将HTML转换为PDF时能处理复杂的CSS吗?
是的,IronPDF可以在将HTML转换为PDF时处理复杂的CSS,确保生成的PDF文档中样式准确反映。
IronPDF的免费开发版本有什么限制?
IronPDF的免费开发版本在每个生成的PDF上都包含水印。购买商业许可证可以消除此限制。
IronPDF为PDF提供了哪些附加功能?
IronPDF提供的附加功能包括添加水印、页眉、页脚以及合并PDF中的页面。
在新的Java项目中如何设置IronPDF?
要在新的Java项目中设置IronPDF,请通过Maven安装库,然后将必要的类导入到您的项目中以开始生成PDF。
我可以限制IronPDF生成的PDF的编辑和打印吗?
是的,IronPDF允许您通过应用特定的安全设置来限制PDF文档的编辑、注释、打印和表单数据录入。
IronPDF for Java 支持哪些平台?
IronPDF for Java 支持广泛的平台,包括Windows、Linux、Docker、Azure和AWS。
在哪里可以找到使用IronPDF在Java中的详细文档?
可以在IronPDF官方网站上找到使用Java的详细文档和示例,提供全面的资源和指南。










