Java PDF Stamper (初学者教程)
IronPDF--Java PDF 库
IronPDF 是一个 Java PDF 库,用于生成、读取和编辑 PDF 文档。 它让用户能够轻松且准确地处理 PDF 文档。 IronPDF for Java 基于 IronPDF for .NET 的成功构建,并在不同平台上提供高效性。 IronPDF for Java 使用IronPdfEngine,该引擎速度快且性能优化。
IronPDF 帮助从 PDFs 中提取文本和图像以及其他对象。 它帮助从 HTML 字符串、URL 和图像创建 PDF。 它还允许不同文件格式之间的转换。 你可以轻松添加新内容,并对现有 PDF 文档添加数字签名以及文档元数据。 它专为 Java 8+、Scala 和 Kotlin 设计,在任何 Windows、Linux 和云平台上运行。
在 Java 应用程序中使用 IronPDF 创建 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>- 访问 Maven 网站,并从IronPDF 的 Maven 仓库中下载最新的 IronPDF 包。
- 从IronPDF.com 的 IronPDF 官方下载专区直接下载 IronPDF。
- 使用IronPDF JAR 文件手动在您的 Java 应用程序中安装 IronPDF。
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>添加必要的导入
一旦所有先决条件都安装完成,下一步是导入处理 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;许可证密钥
IronPDF 中提供的一些方法需要许可证才能使用。 您可以购买许可证或使用 试用许可证免费试用 IronPDF。 您可以按如下所示设置密钥:
// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");// Set the IronPDF license key
License.setLicenseKey("YOUR-KEY");打开现有的 PDF 文档
要导入一个现有文档以加上新内容,使用[PdfDocument](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html) 类。 它的静态[fromFile](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#fromFile(java.nio.file.Path))方法用于从指定路径加载文件,以及实际文件名。 代码如下
// 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"));加载的原始文档:
示例文档
添加新的 HTML 内容
IronPDF 提供印章包。 它提供了一系列有用的印章选项,例如[BarcodeStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/BarcodeStamper.html),[HtmlStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/HtmlStamper.html),[ImageStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/ImageStamper.html),[TextStamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/TextStamper.html),以及其他用于内容对齐的选项。 要将新的 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!");创建一个HtmlStamper对象,然后使用其[setHtml](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html#setHtml(java.lang.String))方法附加新的 HTML 代码。 下一步是将其应用到现有的 PDF 文档中以创建新的 PDF 版本。
将所有交互元素添加到 PDF 文档
使用先前创建的PdfDocument对象将 HTML 代码添加到现有文档中。 它提供了 [applyStamp](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#applyStamp(com.Iron Software.ironpdf.stamp.Stamper)),有两个重载,一个仅接受内容作为 [Stamper](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html) 对象,另一个还包括页面选择。
// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);// Apply the stamper to the PDF document
pd.applyStamp(htmlStamper);这将把字符串描述添加到现有文档中。
将更改保存到 PDF
要保存文件,请使用PdfDocument对象的[saveAs](/java/object-reference/api/com/Iron Software/ironpdf/PdfDocument.html#saveAs(java.lang.String))方法。
// Save the modified PDF document
pd.saveAs("stamped.pdf");// Save the modified PDF document
pd.saveAs("stamped.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));[PageSelection](/java/object-reference/api/com/Iron Software/ironpdf/edit/PageSelection.html)类提供了不同的方法来控制页码。 firstPage,lastPage,allPages 和 pageRange 是一些可用来适当添加内容的方法。
内容对齐
您可以在每个Stamper类中使用[setVerticalAlignment](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html#setVerticalAlignment(com.Iron Software.ironpdf.stamp.VerticalAlignment),[setHorizontalAlignment](/java/object-reference/api/com/Iron Software/ironpdf/stamp/Stamper.html#setHorizontalAlignment(com.Iron Software.ironpdf.stamp.HorizontalAlignment),setWidth,setHeight方法调整添加到现有 PDF 文档的内容位置。 以下示例代码将帮助将文本放置在页面的左下方:
// 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);
带有印章对齐的 PDF 文件输出
您可以使用setVerticalOffset,setHorizontalOffset方法进一步调整内容定位。
有关使用 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());安全选项
您还可以控制 PDF 文件的安全选项,以便数据免于未经授权的使用。 它提供选择设置选项[setAllowUserPrinting](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserPrinting(com.Iron Software.ironpdf.security.PdfPrintSecurity),[setAllowUserEdits](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserEdits(com.Iron Software.ironpdf.security.PdfEditSecurity),[setAllowUserCopyPasteContent](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserCopyPasteContent(java.lang.Boolean),[setAllowUserAnnotations](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserAnnotations(java.lang.Boolean),[setUserPassword](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setUserPassword(java.lang.String),[setAllowUserFormData](/java/object-reference/api/com/Iron Software/ironpdf/security/SecurityOptions.html#setAllowUserFormData(java.lang.Boolean)参数为真或假。 以下示例代码将帮助设置上面提到的所有对象属性。
// 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");用户密码
// 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"));要在实际文件上盖上数字签名,您可以查看此PDF 签名的详细代码示例。
摘要
本文讨论了如何在 Java 中对现有 PDF 文档进行内容盖章。 有一个stamp包,其中包含许多有用的印章类,可以用来在原始文档中的任何期望位置添加多种格式的内容到 PDF。
IronPDF 是一个多功能库,从上面的代码示例也可以看出。 它非常简单,但却是一个非常强大的 PDF 生成和操作工具。 这帮助开发人员轻松在单个 Java 应用程序程序中集成所有 PDF 功能。
IronPDF 对于单个开发者是免费的,并提供无水印的免费试用许可以测试其全部功能。 然而,对于商业用途,应使用 IronPDF 进行许可。
最后,IronPDF 提供[一个购买 Iron Software 套件的特别优惠](Iron Suite),开发人员可以以两个许可证的价格购买所有五个 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类中使用setVerticalAlignment和setHorizontalAlignment方法调整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库。您还需要导入相关的类并设置库的许可。










