從已簽署的 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 文檔中移除簽名。
- 使用憑證初始化配置: 建立一個
Configuration物件,保存您的客戶端 ID 和密鑰。
const config = new Configuration({
clientId: process.env.GROUPDOCS_CLIENT_ID,
clientSecret: process.env.GROUPDOCS_CLIENT_SECRET
});
- 建立 API 客戶端和 Signature API 實例:使用配置來構建
ApiClient,然後構建SignatureApi。
const apiClient = new ApiClient(config);
const signatureApi = new SignatureApi(apiClient);
- 定義來源 PDF 檔案資訊:設定位於 GroupDocs 儲存中的 PDF 的
filePath。
const fileInfo = new FileInfo();
fileInfo.filePath = "input.pdf";
- 準備帶輸出路徑的刪除請求:建立
DeleteSignaturesRequest,指派fileInfo,並指定結果應保存的位置。
const deleteRequest = new DeleteSignaturesRequest();
deleteRequest.fileInfo = fileInfo;
deleteRequest.outputPath = "output.pdf";
- 執行請求並處理結果: 呼叫
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 命令。
- 驗證並取得存取權杖
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"
- 上傳來源 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
- 執行刪除簽名操作
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"
}'
- 下載生成的 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,以便原始文件保持不變,而新文件則不包含任何簽名。我需要特殊授權才能在生產環境中使用此功能嗎?
生產環境使用需要有效授權。您可以從臨時授權頁面獲取臨時授權。
