从已签名的 PDF 文档中移除签名是一个常见需求,当您需要干净的副本进行后续处理或归档时。GroupDocs.Signature Cloud SDK for Node.js 提供了一个强大的库,使您能够以编程方式操作 PDF 签名。在本教程中,您将学习如何使用 Node.js 删除 PDF 中的所有签名,查看完整的代码示例,并探索 REST API 的等效 cURL 命令。
在 Node.JS 中的已签名 PDF 文档中移除签名(共 5 步)
以下步骤展示了如何使用 GroupDocs.Signature Cloud SDK for Node.js 从已签名的 PDF 文档中移除签名。
- 使用凭据初始化配置:创建一个
Configuration对象,该对象保存您的 client ID 和 secret。
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 参考。
从 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 签名移除的理想选择
- 删除所有签名类型 - 支持文本、图像、条形码、二维码和数字签名。
- 云存储集成 - 直接与存储在 GroupDocs 云中的文件协同工作,消除本地文件处理的需求。
- 高性能 - 针对大型 PDF 文档和批处理进行优化。
- 全面的 API - 完整的 REST 端点在 Node.js 库中得到映射,提供使用代码或 cURL 的灵活性。
- 安全处理 - 所有操作均通过 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 cloud storage 中的 PDF 的签名吗?
是的。 在FileInfo对象中提供存储路径,SDK 将直接访问该文件。 请参阅官方文档了解存储处理。如果我需要保留原始已签名 PDF 的副本怎么办?
在DeleteSignaturesRequest中指定不同的outputPath,这样原始文件保持不变,而新文件则不包含任何签名。我需要特殊许可证才能在生产环境中使用此功能吗?
生产环境使用需要有效许可证。您可以从临时许可证页面获取临时许可证。
