水印 用於保護 PDF 文檔或聲明其所有權。此外,在各種情況下,添加水印以顯示 PDF 文檔的狀態,例如草稿、手稿等。為了自動添加水印,本文介紹瞭如何使用 Java 向 PDF 添加文本或圖像水印。
為 PDF 添加水印的 Java API
為了給 PDF 文檔添加水印,我們將使用 Aspose.PDF for Java。它是一個功能豐富的 API,用於在 Java 應用程序中創建、處理和轉換 PDF 文件。您可以 下載 API 的 JAR 或使用以下 Maven 配置安裝它。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>21.6</version>
</dependency>
在 Java 中為 PDF 添加文本水印
以下是使用 Java 向 PDF 添加文本水印的步驟。
- 使用 Document 類加載 PDF。
- 創建 FormattedText 類的實例並設置水印文本及其屬性。
- 創建 WatermarkArtifact 類的實例。
- 向工件添加文本並設置對齊方式、旋轉角度、不透明度、背景等屬性。
- 使用 Document.getPages().getItem(index).getArtifacts().add(WatermarkArtifact) 方法將文本水印添加到所需的 PDF 頁面。
- 使用 Document.save(String) 方法保存更新的 PDF 文檔。
以下代碼示例顯示如何將文本水印添加到 PDF 文檔。
// 載入PDF文件
Document doc = new Document("input.pdf");
// 創建格式化文本
FormattedText formattedText = new FormattedText("Confidential Document", java.awt.Color.RED, FontStyle.Courier, EncodingType.Identity_h, true, 40.0F);
// 創建水印工件並設置其屬性
WatermarkArtifact artifact = new WatermarkArtifact();
artifact.setText(formattedText);
artifact.setArtifactHorizontalAlignment (HorizontalAlignment.Center);
artifact.setArtifactVerticalAlignment (VerticalAlignment.Center);
artifact.setRotation (25);
artifact.setOpacity (0.5);
artifact.setBackground (false);
// 在PDF首頁添加水印
doc.getPages().get_Item(1).getArtifacts().add(artifact);
// 保存帶水印的 PDF 文檔
doc.save("watermark.pdf");
輸出
以下是加水印後的PDF截圖。
在 Java 中將圖像水印添加到 PDF
以下是使用 Java 向 PDF 添加圖像水印的步驟。
- 使用 Document 類加載 PDF。
- 創建 BackgroundArtifact 類的實例並設置其背景圖像和其他屬性。
- 使用 Document.getPages().getItem(index).getArtifacts().add(BackgroundArtifact) 方法將圖像水印添加到所需的 PDF 頁面。
- 使用 Document.save(String) 方法保存更新後的 PDF 文檔。
以下代碼示例顯示如何將圖像水印添加到 PDF 文檔。
// 載入PDF文件
Document doc = new Document("input.pdf");
// 創建背景工件
BackgroundArtifact background = new BackgroundArtifact();
// 指定背景工件對象的圖像
background.setBackgroundImage(new FileInputStream("logo.png"));
background.setOpacity(0.5);
background.setArtifactHorizontalAlignment(HorizontalAlignment.Center);
background.setArtifactVerticalAlignment(VerticalAlignment.Center);
// 在PDF首頁添加水印
doc.getPages().get_Item(1).getArtifacts().add(background);
// 保存帶水印的 PDF 文檔
doc.save("watermark.pdf");
輸出
以下是加水印後的PDF截圖。
獲取免費的 API 許可證
您可以 獲得臨時許可證 以便在不受評估限制的情況下使用 API。
結論
在本文中,您學習瞭如何使用 Java 向 PDF 添加文本或圖像水印。此外,您還看到瞭如何使用不同的屬性自定義水印的外觀。您可以使用 文檔 了解有關 Java PDF API 的更多信息。如果您有任何疑問,請通過我們的 論壇 告訴我們。