使用 IRONPDF FOR JAVA

Java PDF Stamper(初學者教程)

本文將使用IronPDF Library在Java中創建一個PDF蓋章工具。

IronPDF - Java PDF 庫

IronPDF 是一個 Java PDF 庫,用於生成、閱讀和編輯 PDF 文件。 它讓用戶能夠輕鬆且準確地處理 PDF 文件。 IronPDF for Java 建立在 IronPDF for .NET 的成功基礎上,並在不同的平台上提供高效能。 IronPDF for Java 使用 IronPdfEngine,其速度快且經過性能優化。

IronPDF 有助於從PDF中提取文本和圖像以及其他對象。 它可以從 HTML 字串、URL 和圖像創建 PDF。 它還允許在不同文件格式之間進行轉換。 您可以輕鬆地新增新內容並向PDF添加數位簽章,以及文件元數據至現有的PDF文件。 它專為 Java 8+、Scala 和 Kotlin 設計,適用於任何 Windows、Linux 和雲端平台。

使用IronPDF在Java應用程式中創建PDF印章的步驟

先決條件

要製作 PDF 印章器,您將需要以下先決條件:

Java IDE

您可以使用任何支持 Java 的 IDE。有許多可用於 Java 開發的 IDE。 此示範將使用IntelliJ IDE。 您可以使用 NetBeans、Eclipse 等。

2. Maven 專案

Maven 是一個依賴管理工具,允許控制 Java 專案。 Java 的 Maven 可以從官方 Maven 網站下載。 IntelliJ IDE for Java 包含 Maven 支援。

3. IronPDF

您可以有多種方式下載和安裝IronPDF for Java。

  • 在 Maven 專案中的pom.xml檔案中添加 IronPDF 相依性。
<!-- Add IronPDF Dependency Here -->
<!-- Add IronPDF Dependency Here -->
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

新增必要的匯入

安裝所有必要的前置需求之後,下一步是導入需要的 IronPDF 包以處理 PDF 文檔。 在 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。 您可以按如下方式設定金鑰:

License.setLicenseKey("YOUR-KEY");
License.setLicenseKey("YOUR-KEY");
JAVA

開啟現有的 PDF 文件

若要匯入現有文件以標記新內容,使用PdfDocument類別。 其靜態fromFile方法用於從指定路徑加載具有實際文件名的文件。 代碼如下:

PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
PdfDocument pd = PdfDocument.fromFile(Paths.get("sample.pdf"));
JAVA

加載原始文件:

Java PDF Stamper(初學者教程),圖 1:範例文檔

範例文件

新增 HTML 內容

IronPDF 提供一個印章套件。 它允許一系列有用的印章選項,如BarcodeStamperHtmlStamperImageStamperTextStamper及其他用於內容對齊的工具。 要將新的 HTML 內容添加到此 PDF 文件中,將使用 HtmlStamper 類。 讓我們使用上一節中的檔案並新增一些內容。 以下程式碼有助於完成此任務:

HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
HtmlStamper htmlStamper = new HtmlStamper();
htmlStamper.setHtml("New content added!");
JAVA

創建一個HtmlStamper物件,然後使用其setHtml方法附加新的HTML程式碼。 下一步是將其應用於現有的 PDF 文件,以創建新的 PDF 版本。

將所有互動元素添加到 PDF 文件中

使用先前創建的PdfDocument物件將HTML代碼添加到現有文件。 它提供applyStamp有兩個重載,一個僅接受作為Stamper對象的內容,另一個則包括頁面選擇。

pd.applyStamp(htmlStamper);
pd.applyStamp(htmlStamper);
JAVA

這將把字串描述添加到現有文件中。

將更改保存到 PDF

要保存檔案,使用 PdfDocument 物件的saveAs 方法。

pd.saveAs("stamped.pdf");
pd.saveAs("stamped.pdf");
JAVA

Java PDF Stamper(初學者教程),圖2:已蓋章的 PDF 文件

已加蓋的 PDF 檔案

HTML 字串會添加到每個 PDF 文件的頁面中,並位於每個頁面的中間。

加章至指定頁面

您可以使用 applyStamp 方法的另一個重載將內容添加到特定頁面上。

pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
pd.applyStamp(htmlStamper, PageSelection.singlePage(1));
JAVA

PageSelection 類別提供多種方法來控制頁碼。 firstPagelastPageallPagespageRange 是一些可用來適當添加內容的方法。

調整內容

您可以使用[setVerticalAlignment](/java/object-reference/api/com/ironsoftware/ironpdf/stamp/Stamper.html#setVerticalAlignment(com.ironsoftware.ironpdf.stamp.VerticalAlignment))、[setHorizontalAlignment](/java/object-reference/api/com/ironsoftware/ironpdf/stamp/Stamper.html#setHorizontalAlignment(com.ironsoftware.ironpdf.stamp.HorizontalAlignment))、setWidthsetHeight方法在每個Stamper類中調整添加到現有PDF文件中的內容位置。 以下示例代碼將幫助您將文本放置在頁面的左下角:

htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);
htmlStamper.setHorizontalAlignment(HorizontalAlignment.LEFT);
htmlStamper.setVerticalAlignment(VerticalAlignment.BOTTOM);
JAVA

Java PDF Stamper(初學者教程),圖 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 文件的安全選項,以防止資料被未經授權使用。 它提供選項來設定[setAllowUserPrinting](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityOptions.html#setAllowUserPrinting(com.ironsoftware.ironpdf.security.PdfPrintSecurity))、[setAllowUserEdits](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityOptions.html#setAllowUserEdits(com.ironsoftware.ironpdf.security.PdfEditSecurity))、[setAllowUserCopyPasteContent](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityOptions.html#setAllowUserCopyPasteContent(java.lang.Boolean))、[setAllowUserAnnotations](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityOptions.html#setAllowUserAnnotations(java.lang.Boolean))、[setUserPassword](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityOptions.html#setUserPassword(java.lang.String))、[setAllowUserFormData](/java/object-reference/api/com/ironsoftware/ironpdf/security/SecurityOptions.html#setAllowUserFormData(java.lang.Boolean))參數為 true 或 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簽名的詳細程式碼範例

摘要

本文討論了如何在現有的 PDF 文件中為內容加蓋印章(使用 Java)。 有一個stamp套件,包含了一系列有用的蓋章類,這些類可以用於在原始文件中的任何位置添加多種格式的內容到PDF中。

IronPDF 是一個多功能的庫,從上述代碼示例中也可以看出。 它是一個相當簡單但非常強大的 PDF 生成和操作工具。 這有助於開發人員輕鬆將所有 PDF 功能集成到單一的 Java 應用程式中。

IronPDF 對於單一開發是免費的,並提供免費試用許可證無水印以測試其完整功能。 然而,對於商業用途,應取得IronPDF授權

最後,IronPDF 提供購買 Iron Software 套件的特別促銷,開發人員可以購買所有五個 Iron Software 產品,只需支付兩份許可證的價格。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant 擁有邁阿密大學的計算機科學學士學位,目前擔任 Iron Software 的全端 WebOps 行銷工程師。自幼對編程產生興趣,他認為計算機既神秘又易於接觸,使其成為創造力和解決問題的完美媒介。

在 Iron Software,Darrius 享受創造新事物並簡化複雜概念使其更易理解的過程。作為我們的其中一位常駐開發人員,他也自願教導學生,將他的專業知識傳授給下一代。

對 Darrius 來說,他的工作之所以令人滿足,是因為它受到重視並且產生了真正的影響。

< 上一頁
如何在 Java 中從模板創建 PDF
下一個 >
什麼是 Java 中的 Maven(工作原理教學)