跳至页脚内容
在 JAVA 中使用 IRONPDF

Java PDF Stamper (初学者教程)

IronPDF - Java PDF Library

IronPDF 是一个 Java PDF 库,用于生成、读取和编辑 PDF 文档。 它让用户能够轻松且准确地处理 PDF 文档。 IronPDF for Java 基于 IronPDF for .NET 的成功构建,并在不同平台上提供高效性。 IronPDF for Java 使用IronPdfEngine,该引擎速度快且性能优化。

IronPDF 帮助从 PDFs 中提取文本和图像以及其他对象。 它帮助从 HTML 字符串、URL 和图像创建 PDF。 它还允许不同文件格式之间的转换。 You can easily add new content and add digital signatures to PDFs along with document metadata to existing PDF documents. 它专为 Java 8+、Scala 和 Kotlin 设计,在任何 Windows、Linux 和云平台上运行。

使用 IronPDF 在 Java 应用中创建 PDF 晋客步骤

前提条件

若要制作 PDF 晋客,您将需要以下先决条件:

1. Java IDE

您可以使用任何Java支持的IDE。Java开发有许多可用的IDE。 这个演示将使用IntelliJ IDE。 你可以使用 NetBeans、Eclipse 等等。

2. Maven 项目

Maven 是一个依赖管理器,并允许控制 Java 项目。 Maven for Java 可以从官方 Maven 网站下载。 IntelliJ IDE for Java 包含 Maven 支持。

3. IronPDF

你可以通过多种方式下载和安装 IronPDF for Java。

  • 在 Maven 项目的 pom.xml 文件中添加 IronPDF 依赖。
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>LATEST_VERSION</version> <!-- Make sure to replace LATEST_VERSION with the actual version number -->
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>LATEST_VERSION</version> <!-- Make sure to replace LATEST_VERSION with the actual version number -->
</dependency>
XML

4. Slf4j

此依赖项也需要以便在现有 PDF 文档上加印内容。 可以使用 IntelliJ 或直接从 Maven 网站添加 Maven 依赖管理器添加。将以下依赖项添加到 pom.xml 文件中:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.5</version>
</dependency>
XML

添加必要的导入

一旦所有先决条件都安装完成,下一步是导入处理 PDF 文档所需的 IronPDF 包。 在 Main.java 文件顶部添加以下代码:

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.metadata.MetadataManager;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.stamp.*;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.metadata.MetadataManager;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.stamp.*;

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Date;
JAVA

许可证密钥

IronPDF 中提供的一些方法需要许可证才能使用。 您可以购买许可证或使用 试用许可证免费试用 IronPDF。 您可以按如下所示设置密钥:

// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");
// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");
JAVA

打开现有的 PDF 文档

要导入一个现有文档以加上新内容,使用PdfDocument 类。 它的静态fromFile方法用于从指定路径加载文件,以及实际文件名。 代码如下

// Load an existing PDF document
PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
// Load an existing PDF document
PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
JAVA

加载的原始文档:

Java PDF 晋客(初学者教程),图1:示例文档 示例文档

添加新的 HTML 内容

IronPDF 提供印章包。 It allows a bunch of useful stamping options like BarcodeStamper, HtmlStamper, ImageStamper, TextStamper, and others for content alignment. 要将新的 HTML 内容添加到此 PDF 文档中,将使用 HtmlStamper 类。 让我们使用上一节中的文件并向其中添加一些内容。 以下代码有助于完成这个任务:

// Create an HtmlStamper and set its content
HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
// Create an HtmlStamper and set its content
HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
JAVA

创建一个HtmlStamper对象,然后使用其setHtml方法附加新的 HTML 代码。 下一步是将其应用到现有的 PDF 文档中以创建新的 PDF 版本。

将所有交互元素添加到 PDF 文档

使用先前创建的PdfDocument对象将 HTML 代码添加到现有文档中。 It provides applyStamp with two overloads, one that accepts only the content as a Stamper object and the other with page selection as well.

// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);
// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);
JAVA

这将把字符串描述添加到现有文档中。

将更改保存到 PDF

要保存文件,请使用PdfDocument对象的saveAs方法。

// Save the modified PDF document
pd.saveAs("stamped.pdf");
// Save the modified PDF document
pd.saveAs("stamped.pdf");
JAVA

Java PDF 晋客(初学者教程),图2:已盖章的 PDF 文件 已盖章的 PDF 文件

HTML 字符串被添加到 PDF 文档的每一页,并位于每一页的中间。

盖章到特定页面

您可以使用另一个applyStamp方法的重载将内容添加到特定页面。

// Stamp content to a specific page
pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
// Stamp content to a specific page
pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
JAVA

PageSelection类提供了不同的方法来控制页码。 firstPagelastPageallPagespageRange 是一些可用来适当添加内容的方法。

内容对齐

You can use setVerticalAlignment, setHorizontalAlignment, setWidth, setHeight methods in each Stamper class to adjust the position of the content added to the existing PDF document. 以下示例代码将帮助将文本放置在页面的左下方:

// Set the alignment of the stamper
htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);
// Set the alignment of the stamper
htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);
JAVA

Java PDF 晋客(初学者教程),图3:带有印章对齐的 PDF 文件输出 带有印章对齐的 PDF 文件输出

您可以使用setVerticalOffsetsetHorizontalOffset方法进一步调整内容定位。

有关使用 IronPDF 处理 PDF 文件的更多信息,请访问此Java 中 HTML 到 PDF 转换的代码示例

在现有文档上盖章元数据、签名和安全选项

IronPDF for Java 是一个功能强大的库,提供以元数据形式添加文件描述、用户权限、用户密码、添加数字签名和创建签名文档以保存 PDF 文档版本的功能。

元数据

// Edit file metadata
MetadataManager metadata = pd.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());
// Edit file metadata
MetadataManager metadata = pd.getMetadata();
metadata.setAuthor("Satoshi Nakamoto");
metadata.setKeywords("SEO, Friendly");
metadata.setModifiedDate(new Date().toString());
JAVA

安全选项

您还可以控制 PDF 文件的安全选项,以便数据免于未经授权的使用。 It provides options to set setAllowUserPrinting, setAllowUserEdits, setAllowUserCopyPasteContent, setAllowUserAnnotations, setUserPassword, setAllowUserFormData parameters to true or false. 以下示例代码将帮助设置上面提到的所有对象属性。

// Edit file security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");
// Edit file security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserCopyPasteContent(false);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.FULL_PRINT_RIGHTS);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");
JAVA

用户密码

// Change or set the document encryption password
SecurityManager securityManager = pd.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");

securityManager.setSecurityOptions(securityOptions);
pd.saveAs(Paths.get("assets/secured.pdf"));
// Change or set the document encryption password
SecurityManager securityManager = pd.getSecurity();
securityManager.removePasswordsAndEncryption();
securityManager.makePdfDocumentReadOnly("secret-key");

securityManager.setSecurityOptions(securityOptions);
pd.saveAs(Paths.get("assets/secured.pdf"));
JAVA

要在实际文件上盖上数字签名,您可以查看此PDF 签名的详细代码示例

摘要

本文讨论了如何在 Java 中对现有 PDF 文档进行内容盖章。 有一个stamp包,其中包含许多有用的印章类,可以用来在原始文档中的任何期望位置添加多种格式的内容到 PDF。

IronPDF 是一个多功能库,从上面的代码示例也可以看出。 它非常简单,但却是一个非常强大的 PDF 生成和操作工具。 这帮助开发人员轻松在单个 Java 应用程序程序中集成所有 PDF 功能。

IronPDF 对于单个开发者是免费的,并提供无水印的免费试用许可以测试其全部功能。 然而,对于商业用途,应使用 IronPDF 进行许可

最后,IronPDF 提供一个购买 Iron Software 套件的特别优惠,开发人员可以以两个许可证的价格购买所有五个 Iron Software 产品。

常见问题解答

如何在Java中向现有的PDF文档添加内容?

您可以使用IronPDF for Java的HtmlStamper类向现有PDF文档添加HTML内容。这个类允许您在保留原始格式的同时集成新内容。

在Java中创建PDF戳记器的主要步骤是什么?

要使用IronPDF for Java创建PDF戳记器,您需要设置Java IDE,创建Maven项目以进行依赖项管理,并包括IronPDF库。然后,导入必要的类,初始化许可,打开现有的PDF,并使用HtmlStamper添加内容。

如何在添加新内容时确保PDF的格式不变?

IronPDF for Java在添加新内容时保持PDF的原始格式。这是通过其强大的渲染引擎实现的,该引擎在集成新元素时精确复制现有布局。

是否可以仅应用戳记到PDF的某些页面?

是的,使用IronPDF for Java,您可以使用applyStamp方法和PageSelection类在PDF中选择特定页面进行戳记。

如何调整PDF文档中戳记内容的位置?

您可以通过在HtmlStamper类中使用setVerticalAlignmentsetHorizontalAlignment方法调整PDF中戳记内容的位置,以控制新内容在页面上的显示位置。

PDF文档有哪些安全功能?

IronPDF for Java提供了几个安全功能,包括设置用户权限、添加密码以及控制PDF文档中打印、编辑和复制内容的访问。

我需要许可证才能在商业用途中使用PDF库吗?

是的,使用IronPDF for Java进行商业用途需要商业许可证。但是,可以获得免费试用许可证来测试库的全部功能,而不会出现水印。

IronPDF for Java兼容哪些平台?

IronPDF for Java兼容Java 8+、Scala、Kotlin,并支持包括Windows、Linux和云环境在内的多个平台。

如何在Java中将HTML内容转换为PDF?

您可以使用IronPDF for Java的RenderHtmlAsPdf方法将HTML内容转换为PDF文件,允许将HTML字符串或文件精确渲染为PDF文档。

开始在项目中使用IronPDF for Java需要什么?

要开始使用IronPDF for Java,请确保您有一个Java IDE,例如IntelliJ,一个用于管理依赖项的Maven项目,以及IronPDF库。您还需要导入相关的类并设置库的许可。

Darrius Serrant
全栈软件工程师(WebOps)

Darrius Serrant 拥有迈阿密大学的计算机科学学士学位,目前在 Iron Software 担任全栈 WebOps 市场工程师。从小就被编码吸引,他认为计算机既神秘又易于接触,使其成为创意和问题解决的理想媒介。

在 Iron Software,Darrius 喜欢创造新事物,并简化复杂概念以使其更易理解。作为我们常驻的开发者之一,他还自愿教授学生,与下一代分享他的专业知识。

对于 Darrius 来说,他的工作令人满意,因为它被重视并产生真正的影响。