從已簽署的 PDF 文檔中移除簽名是一個常見需求,當您需要乾淨的副本以進一步處理或存檔時。GroupDocs.Signature Cloud SDK for Node.js 提供了一個強大的庫,讓您能以程式方式操作 PDF 簽名。在本教程中,您將學習如何使用 Node.js 刪除 PDF 中的所有簽名,查看完整的代碼示例,並探索 REST API 的等效 cURL 命令。

在 Node.JS 中以 5 步驟移除已簽署 PDF 文件的簽名

以下步驟示範如何使用 GroupDocs.Signature Cloud SDK for Node.js 從已簽署的 PDF 文檔中移除簽名。

  1. 使用憑證初始化配置: 建立一個 Configuration 物件,保存您的客戶端 ID 和密鑰。
const config = new Configuration({
    clientId: process.env.GROUPDOCS_CLIENT_ID,
    clientSecret: process.env.GROUPDOCS_CLIENT_SECRET
});
  1. 建立 API 客戶端和 Signature API 實例:使用配置來構建 ApiClient,然後構建 SignatureApi。
const apiClient = new ApiClient(config);
const signatureApi = new SignatureApi(apiClient);
  1. 定義來源 PDF 檔案資訊:設定位於 GroupDocs 儲存中的 PDF 的 filePath。
const fileInfo = new FileInfo();
fileInfo.filePath = "input.pdf";
  1. 準備帶輸出路徑的刪除請求:建立 DeleteSignaturesRequest,指派 fileInfo,並指定結果應保存的位置。
const deleteRequest = new DeleteSignaturesRequest();
deleteRequest.fileInfo = fileInfo;
deleteRequest.outputPath = "output.pdf";
  1. 執行請求並處理結果: 呼叫 deleteSignatures 並處理回應。
try {
    const result = await signatureApi.deleteSignatures(deleteRequest);
    console.log("All signatures removed successfully.");
    console.log("Result file stored at:", result.path);
} catch (err) {
    console.error("Failed to remove signatures:", err);
}

如需了解每個類別的更多細節,請參閱 API Reference。

從 PDF 中剝除所有簽名 - 完整程式碼範例

以下示例演示了從已簽名的 PDF 文檔中移除簽名的完整工作流程。

const { Configuration, ApiClient, SignatureApi, DeleteSignaturesRequest, FileInfo } = require("@groupdocs/signature-cloud");

async function removeSignaturesFromPdf() {
    // Initialize configuration with your GroupDocs credentials
    const config = new Configuration({
        clientId: process.env.GROUPDOCS_CLIENT_ID,
        clientSecret: process.env.GROUPDOCS_CLIENT_SECRET
    });

// Create API client and Signature API instance
    const apiClient = new ApiClient(config);
    const signatureApi = new SignatureApi(apiClient);

// Define source PDF file (must be already uploaded to GroupDocs storage)
    const fileInfo = new FileInfo();
    fileInfo.filePath = "input.pdf"; // path in GroupDocs storage

// Prepare request to delete all signatures and store result as a new file
    const deleteRequest = new DeleteSignaturesRequest();
    deleteRequest.fileInfo = fileInfo;
    deleteRequest.outputPath = "output.pdf"; // resulting file path in storage

try {
        const result = await signatureApi.deleteSignatures(deleteRequest);
        console.log("All signatures removed successfully.");
        console.log("Result file stored at:", result.path);
    } catch (err) {
        console.error("Failed to remove signatures:", err);
    }
}

removeSignaturesFromPdf();

注意: 此程式碼範例展示了核心功能。在將其用於您的專案之前,請確保更新任何檔案路徑和設定值以符合實際環境,驗證所有必要的相依項目已正確安裝,並在開發環境中徹底測試。如果遇到任何問題,請參閱官方文件或聯絡支援團隊以獲得協助。

使用 cURL 透過 REST API 移除 PDF 簽名

以下是通過 GroupDocs REST API 執行相同操作的 cURL 命令。

  1. 驗證並取得存取權杖
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. 上傳來源 PDF 到 GroupDocs 儲存
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/pdf" \
     --data-binary @input.pdf
  1. 執行刪除簽名操作
curl -X POST "https://api.groupdocs.cloud/v2.0/signature/delete" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.pdf" },
           "outputPath": "output.pdf"
         }'
  1. 下載生成的 PDF
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

欲取得完整的 API 合約,請參閱 API Reference。

準備環境

通過 npm 安裝庫,並確保您的 Node.js 版本符合最低要求。

npm install groupdocs-signature-cloud

您也可以從下載頁面下載最新的套件。請確保您擁有有效的 GroupDocs 帳戶並已生成客戶端憑證。

使 GroupDocs.Signature Cloud SDK for Node.js 成為 PDF 簽名移除的理想選擇

  • Delete all signature types - 支援文字、圖像、條碼、QR 代碼和數位簽章。
  • Cloud storage integration - 可直接處理儲存在 GroupDocs 雲端的檔案,免除本機檔案處理的需求。
  • High performance - 為大型 PDF 文件和批次處理進行了最佳化。
  • Comprehensive API - 完整的 REST 端點已在 Node.js 函式庫中鏡像,讓您可以靈活選擇使用程式碼或 cURL。
  • Secure processing - 所有操作皆透過 HTTPS 進行,並遵守您的帳戶權限。

如需更深入的了解,請參閱官方文件。

微調簽名刪除選項

雖然基本請求會移除所有簽名,但您可以調整以下選項:

  • outputPath - 選擇不同的資料夾或檔名以儲存未簽名的 PDF。
  • fileInfo.password - 如果來源 PDF 受密碼保護,請在此設定密碼。

設定輸出路徑的範例(已在上面的程式碼片段中顯示):

deleteRequest.outputPath = "output.pdf";

其他參數列在 API 參考中。

移除 PDF 簽名的最佳實踐

  • 驗證檔案是否存在 在發送請求之前,以避免不必要的 API 呼叫。
  • 使用環境變數 用於客戶端憑證,以將其保留在源代碼控制之外。
  • 將未簽名的結果存儲在單獨的資料夾中 以保留原始已簽名的文件。
  • 優雅地處理錯誤 透過捕獲例外並記錄錯誤詳細資訊。
  • 使用不同的簽名類型進行測試 以確保刪除操作在所有情況下皆能正常運作。

結論

從已簽署的 PDF 文件中移除簽名變得簡單,只需使用 GroupDocs.Signature Cloud SDK for Node.js。該庫處理身份驗證、存儲訪問以及僅需幾行代碼的刪除操作,同時 REST API 也可通過 cURL 實現相同功能。請記得為生產環境獲取正式授權;產品頁面提供價格資訊,您亦可從 臨時授權頁面 獲得臨時授權。使用這些工具,您可以在任何 Node.js 工作流程中自動化 PDF 簽名的移除。

常見問題

  • 使用 GroupDocs.Signature Cloud SDK for Node.js,如何從已簽署的 PDF 文件中移除簽名?
    該庫使用您的客戶端 ID 和密鑰進行身份驗證,然後調用 DeleteSignatures 端點以從指定的 PDF 中移除所有簽名。詳情請參閱 GroupDocs.Signature Cloud SDK for Node.js 文檔。

  • 我可以刪除儲存在 GroupDocs 雲端儲存中的 PDF 的簽名嗎?
    是的。請在 FileInfo 物件中提供儲存路徑,SDK 會直接存取該檔案。請參閱官方文件以了解儲存處理方式。

  • 如果我需要保留原始已簽署 PDF 的副本怎麼辦?
    在 DeleteSignaturesRequest 中指定不同的 outputPath,以便原始文件保持不變,而新文件則不包含任何簽名。

  • 我需要特殊授權才能在生產環境中使用此功能嗎?
    生產環境使用需要有效授權。您可以從臨時授權頁面獲取臨時授權。

Read More