HTML JPG PDF XML DOCX
  Product Family
PDF

在 Node.js 云 API 中签署 PDF

使用云端 Node.js SDK 在 PDF 文档中处理签名的 API

Get Started

如何通过 Node.js SDK 向 PDF 添加签名

为了在 PDF 中添加签名,我们将使用 Aspose.PDF Cloud Node.js SDK。这个云 SDK 协助 Node.js 程序员使用 Aspose.PDF REST API 开发基于云的 PDF 创建、注释、编辑和转换应用程序。只需在 Aspose for Cloud 创建一个账户并获取您的应用信息。一旦您拥有 App SID 和密钥,就可以开始使用 Aspose.PDF Cloud Node.js SDK。

包管理器控制台命令


     
    npm install asposepdfcloud --save
     
     

通过云端 Node.js 向 PDF 添加签名的步骤

Aspose.PDF Cloud 开发者可以轻松地在几行代码中加载并向 PDF 添加签名。

  1. 读取本地 PDF 文件。
  2. 将 PDF 文件上传到 Aspose PDF Cloud 存储中。
  3. 创建并添加数字签名
  4. 从 Aspose PDF Cloud 存储中下载更新后的 PDF 文件。
 

使用 Node.js 向 PDF 添加签名


    import credentials from "../../../Credentials/credentials.json"  with { type: "json" };
    import fs from 'node:fs/promises';
    import path from 'node:path';
    import { PdfApi } from "../../src/api/api.js";
    import {Signature} from "../../src/models/signature.js";
    import {SignatureType} from "../../src/models/signatureType.js";
    import {SignatureField} from "../../src/models/signatureField.js";

    const configParams = {
        LOCAL_FOLDER: "C:\\Samples\\",
        PDF_DOCUMENT_NAME: "sample.pdf",
        LOCAL_RESULT_DOCUMENT_NAME: "output_sample.pdf",
        LOCAL_SIGNATURE_PATH: "C:\\Samples\\Signatures\\3",
        SIGNATURE_PFX: "signature.pfx",
        SIGNATURE_FORM_FIELD: 'Signature_1',
        SIGNATURE_PASSWORD: 'Password',
        SIGNATURE_CONTACT: 'Contact',
        SIGNATURE_LOCATION: 'Location',
        SIGNATURE_AUTHORITY: 'Issuer',
        SIGNATURE_DATE: '04/19/2025 12:15:00.000 PM',
        SIGNATURE_RECT:  { lLx: 100, lLy: 100, uRx: 500, uRy: 500 }
    };

    const pdfApi = new PdfApi(credentials.id, credentials.key);

    const pdfSignatures = {
        async uploadFile (folder, fileName) {
            const fileNamePath = path.join(folder, fileName);
            const pdfFileData = await fs.readFile(fileNamePath);
            await pdfApi.uploadFile(fileName, pdfFileData);
            console.log("File '" + fileName + "' successfully uploaded!");
        },

        async uploadDocument () {
            await this.uploadFile(configParams.LOCAL_FOLDER, configParams.PDF_DOCUMENT_NAME);
        },
                        
        async downloadResult () {
            const changedPdfData = await pdfApi.downloadFile(configParams.PDF_DOCUMENT_NAME);
            const filePath = path.join(configParams.LOCAL_FOLDER, configParams.LOCAL_RESULT_DOCUMENT_NAME);
            await fs.writeFile(filePath, changedPdfData.body);
            console.log("Downloaded: " + filePath);
        },

        async addSignature () {
            if (pdfApi)
            {  
                
                const signature = new Signature();
                signature.authority = configParams.SIGNATURE_AUTHORITY;
                signature.contact = configParams.SIGNATURE_CONTACT;
                signature.date = configParams.SIGNATURE_DATE;
                signature.formFieldName = configParams.SIGNATURE_FORM_FIELD;
                signature.location = configParams.SIGNATURE_LOCATION;
                signature.password = configParams.SIGNATURE_PASSWORD;
                signature.rectangle = configParams.SIGNATURE_RECT;
                signature.signaturePath = configParams.SIGNATURE_PFX;
                signature.signatureType = SignatureType.PKCS7;
                signature.visible = true;

                const field = new SignatureField();
                field.pageIndex = 1;
                field.signature = signature;
                field.partialName = 'sign1';
                field.rect = configParams.SIGNATURE_RECT;

                const response = await pdfApi.postSignatureField(configParams.PDF_DOCUMENT_NAME, field);

                if (response.body.code == 200)
                    console.log("addSignature(): Signature '" + configParams.SIGNATURE_CONTACT + "' successfully added to the document.");
                else
                    console.error("addSignature(): Failed to add signature to the document. Response code: " + response.body.code);
            }
        },
    }

    async function main() {
        try {
            await pdfSignatures.uploadFile(configParams.LOCAL_SIGNATURE_PATH, configParams.SIGNATURE_PFX);
            await pdfSignatures.uploadDocument();
            await pdfSignatures.addSignature();
            await pdfSignatures.downloadResult();
        } catch (error) {
            console.error("Error:", error.message);
        }
    }
 

在 PDF 中处理签名

数字签名 PDF 可确保文档的真实性、完整性和合法性。它验证自签名应用以来内容未被更改,并确认签名者的身份。这在法律、金融和专业环境中尤为重要,因为文件的信任和安全性至关重要。数字签名还帮助符合合规标准,以安全、可验证的方式简化审批工作流程。 使用 Aspose.PDF Cloud Node.js SDK 向 PDF 文档添加签名。

通过我们的 Node.js 库,您可以:

  • 以文本或图像格式添加 PDF 文档的页眉和页脚。
  • 向 PDF 文档中添加表格和图章(文本或图像)。
  • 将多个 PDF 文档附加到现有文件。
  • 处理 PDF 附件、注释和表单字段。
  • 对 PDF 文档应用加密或解密并设置密码。
  • 从页面或整个 PDF 文档中删除所有图章和表格。
  • 按 ID 从 PDF 文档中删除特定的图章或表格。
  • 在 PDF 页面或整个文档中替换单个或多个实例的文本。
  • 提供广泛的支持,将 PDF 文档转换为各种其他文件格式。
  • 提取 PDF 文件的各种元素并优化 PDF 文档。
  • 您可以尝试我们的免费应用程序在线测试功能。