如何使用 GroupDocs.Signature for Java 更新 PDF 中的文字簽名

介紹

以程式設計方式更新文件中的文字簽名可能是一個挑戰,特別是當您想要簡化文件工作流程或自動化簽章管理時。 GroupDocs.Signature for Java 為這一問題提供了強大的解決方案。本指南將指導您初始化和搜尋文字簽名、調整其屬性以及在 PDF 中更新它們。

在本教程結束時,您將了解如何使用 Java 高效地實作和更新文字簽章。在深入學習之前,我們先來了解先決條件。

先決條件

在開始之前,請確保您已:

  • Java 開發工具包 (JDK): 版本 8 或更高版本。
  • Maven/Gradle: 用於依賴管理。
  • 對 Java 程式設計和文件處理有基本的了解。
  • 準備處理的 PDF 文件。

為 Java 設定 GroupDocs.Signature

若要將 GroupDocs.Signature 整合到您的 Java 專案中,請使用 Maven 或 Gradle。操作方法如下: Maven

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-signature</artifactId>
    <version>23.12</version>
</dependency>

Gradle

implementation 'com.groupdocs:groupdocs-signature:23.12'

如需直接下載,請訪問 GroupDocs.Signature Java 版本.

許可證獲取

若要使用 GroupDocs.Signature,您可以選擇免費試用或購買許可證。您可以使用臨時許可證來無限制地測試進階功能。

實施指南

初始化簽名並蒐索文字簽名

概述

此功能允許初始化 Signature 物件並使用 TextSearchOptions步驟 1:導入必要的類

import com.groupdocs.signature.Signature;
import com.groupdocs.signature.domain.BaseSignature;
import com.groupdocs.signature.domain.signatures.TextSignature;
import com.groupdocs.signature.options.search.TextSearchOptions;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

步驟2:初始化簽名並蒐索文字簽名

String filePath = "YOUR_DOCUMENT_DIRECTORY";
Signature signature = new Signature(filePath);
TextSearchOptions options = new TextSearchOptions();
List<TextSignature> signatures = signature.search(TextSignature.class, options);
List<BaseSignature> bS = new ArrayList<>();

解釋:

  • signature:初始化 Signature 物件與您的文件路徑。
  • options:配置文字簽名的搜尋參數。
  • signatures:儲存找到的文字簽名。

調整簽名屬性

for (TextSignature temp : signatures) {
    // 在 x 和 y 方向上移動位置 100 個單位
    temp.setLeft(temp.getLeft() + 100);
    temp.setTop(temp.getTop() + 100);
    temp.setSignature(true); // 標記為有效以進行更新
    bS.add(temp); // 新增至清單以進行更新
}

解釋:

  • 調整每個簽章的 x 和 y 位置。
  • 透過設定標記要更新的簽名 setSignature(true)

更新文件中的簽名

概述

本節介紹如何使用 GroupDocs.Signature 的更新功能對文件中的文字簽章套用變更。 步驟 1:更新所有找到的簽名

String outputFilePath = "YOUR_OUTPUT_DIRECTORY/UpdatedDocument.pdf";
UpdateResult updateResult = signature.update(outputFilePath, bS);
  • outputFilePath:指定更新文檔的儲存路徑。
  • updateResult:包含有關每個更新操作成功的資訊。 步驟2:檢查並顯示更新結果
if (updateResult.getSucceeded().size() == signatures.size()) {
    System.out.println("All signatures were successfully updated!");
} else {
    System.out.println("Successfully updated signatures : " + updateResult.getSucceeded().size());
    System.out.println("Not updated signatures : " + updateResult.getFailed().size());
}

解釋:

  • 將成功的更新與簽名總數進行比較以驗證完整性。
  • 顯示有關哪些簽章更新成功或失敗的詳細資訊。

列出已更新簽署的詳細信息

for (BaseSignature temp : updateResult.getSucceeded()) {
    System.out.println(
        "Signature# Id:" + temp.getSignatureId() + ", Location: " + temp.getLeft() + "x" + temp.getTop() + ". Size: " +
        temp.getWidth() + "x" + temp.getHeight()
    );
}

解釋:

  • 遍歷更新的簽章以顯示其 ID、位置和大小。

實際應用

以下是更新 PDF 中的文字簽名的一些實際用例:

  1. 合約管理: 文件範本更改後自動調整簽名位置。
  2. 發票處理: 修改範本時確保發票審核位置正確。
  3. 法律文件處理: 更新簽名以符合新的法律格式要求。
  4. 協作工具: 透過允許無縫更新簽章文件來增強數位協作平台。
  5. 人力資源文件: 隨著佈局的變化,調整員工合約和協議中的簽名位置。

性能考慮

  • 優化資源使用: 確保高效的記憶體管理,尤其是在處理大量文件時。
  • 批次: 批量處理文件操作以減少開銷並提高吞吐量。
  • Java記憶體管理: 使用 GroupDocs.Signature 監控堆大小和垃圾收集設定以獲得最佳效能。

結論

在本教程中,您學習如何使用 GroupDocs.Signature for Java 初始化和搜尋文字簽名、調整其屬性以及高效地更新它們。按照這些步驟,您可以無縫地自動化 PDF 文件中的簽章管理。 為了進一步提高您的實施技能,請考慮探索 GroupDocs.Signature 的其他功能並將其與其他系統整合以建立全面的文件工作流程。

常見問題部分

  1. Java 版 GroupDocs.Signature 是什麼?
    • 一個強大的函式庫,支援 Java 應用程式中各種文件格式的數位簽章和驗證。
  2. 如何為 GroupDocs.Signature 設定臨時許可證?
  3. 除了 PDF 之外,我還可以更新其他文件格式的簽章嗎?
    • 是的,GroupDocs.Signature 支援多種格式,包括 Word、Excel 等。
  4. 簽名更新失敗怎麼辦?
    • 檢查 updateResult.getFailed() 列出並調整您的配置或使用更新的參數重試。
  5. 使用 GroupDocs.Signature for Java 時是否有效能限制?
    • 效能可能因係統資源而異;考慮優化記憶體設定並批量處理大型應用程式的文件。

資源