无论您是想将品牌应用于您的文档,还是想保护文件免遭任何非法使用,水印都可以为您完成工作。在本文中,您将学习使用 Java 以编程方式将水印添加到 PDF 文件中。
以下主题涵盖以下内容:
Java的水印API
GroupDocs.Watermark for Java 是一个水印 API,允许处理 PDF 文件中的文本和图像水印。除了 PDF 文件,API 还允许为文字处理文档、电子表格、演示文稿、电子邮件、图像、Visio 绘图和许多其他格式添加、删除和提取水印。从文档,您可以进一步检查功能和支持的文件格式。
下载并配置
从 下载 部分获取 PDF 水印库。对于基于 Maven 的 Java 应用程序,在 pom.xml 中添加以下配置。稍后,您可以尝试本文的示例以及 GitHub 中的更多示例。有关详细信息,您也可以访问 API 参考。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>21.3</version>
</dependency>
使用 Java 将文本水印添加到 PDF
通过在所有页面或设置位置的任何选择性页面上添加格式化文本,可以将文本水印应用于 PDF 文件。
以下步骤显示如何将文本添加到 PDF 文件作为水印。
- 使用 Watermarker 类加载 PDF 文档。
- 使用 TextWatermark 类初始化文本水印。
- 通过改变旋转角度、xy 位置、不透明度、前景色和背景色等设置外观。
- 设置目标页面索引(可选) 。如果不设置索引,水印会默认应用到所有页面。
- 添加文字水印到水印。
- 使用适当的 save 方法保存带水印的文件。
源代码展示了如何在 Java 中为 PDF 文件添加文本水印。
// 在Java中将文本水印应用于PDF文件的所有页面
PdfLoadOptions loadOptions = new PdfLoadOptions();
Watermarker watermarker = new Watermarker("path/document.pdf", loadOptions);
// 在所有页面的中心添加文本
TextWatermark textWatermark = new TextWatermark("Watermark", new Font("Arial", 80));
textWatermark.setRotateAngle(-45);
textWatermark.setOpacity(0.3);
textWatermark.setForegroundColor(Color.getDarkBlue());
textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
textWatermark.setVerticalAlignment(VerticalAlignment.Center);
// PdfArtifactWatermarkOptions imageWatermarkOptions = new PdfArtifactWatermarkOptions();
// imageWatermarkOptions.setPageIndex(0);
watermarker.add(textWatermark);
// 保存带水印的 PDF
watermarker.save("path/text-watermark.pdf");
watermarker.close();
上述源代码的输出在给定 PDF 文件的两个页面上都显示了文本水印。
使用 Java 将图像水印添加到 PDF
同样,您可以将图像添加到任何位置的任何 PDF 文件,就像文本水印选项一样。
以下步骤显示如何将图像添加到 PDF 文件作为水印。
- 使用 Watermarker 类加载 PDF 文档。
- 使用 ImageWatermark 类初始化图像水印。
- 通过调整旋转角度、xy 位置、不透明度和其他选项来设置外观。
- 设置目标页面索引。 (选修的)
- 将图像水印添加到水印。
- 使用适当的 save 方法保存带水印的文件。
源代码展示了如何使用 Java 为 PDF 文件添加图像水印。
// 在Java中将图像水印应用于PDF文件的第二页
PdfLoadOptions loadOptions = new PdfLoadOptions();
Watermarker watermarker = new Watermarker("path/document.pdf", loadOptions);
// 加载图像并设置外观
ImageWatermark imageWatermark = new ImageWatermark(Constants.LockPng);
imageWatermark.setOpacity(0.7);
imageWatermark.setX(130);
imageWatermark.setY(390);
// 将图像添加到 PDF 文件的第二页
PdfArtifactWatermarkOptions imageWatermarkOptions = new PdfArtifactWatermarkOptions();
imageWatermarkOptions.setPageIndex(1);
watermarker.add(imageWatermark, imageWatermarkOptions);
imageWatermark.close();
// 保存带水印的 PDF
watermarker.save("path/image-watermark.pdf");
watermarker.close();
上述源代码的输出显示了给定 PDF 文件第二页上的图像水印。
获取免费 API 许可证
您可以获得免费的临时许可证 以便在没有评估限制的情况下使用 API。
结论
总而言之,您学会了使用 Java 将水印应用于 PDF 文件。我们讨论了在 PDF 文件上添加文本和图像作为水印。有关 API 的更多详细信息或了解,请访问 文档。如有疑问,请通过 论坛 联系我们。