从已签名的 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 文档中移除签名。

  1. 使用凭据初始化配置:创建一个 Configuration 对象,该对象保存您的 client ID 和 secret。
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 参考。

从 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 签名移除的理想选择

  • 删除所有签名类型 - 支持文本、图像、条形码、二维码和数字签名。
  • 云存储集成 - 直接与存储在 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,这样原始文件保持不变,而新文件则不包含任何签名。

  • 我需要特殊许可证才能在生产环境中使用此功能吗?
    生产环境使用需要有效许可证。您可以从临时许可证页面获取临时许可证。

阅读更多