在 Node.js 中使用 REST API 使用數字簽名簽署文檔

您可以在雲上以編程方式使用數字簽名對文檔進行電子簽名。數字簽名用於驗證文檔的真實性和完整性。它還使您能夠在文檔中附加代碼作為簽名。本文將重點介紹如何在 Node.js 中使用 REST API 對文檔進行數字簽名。

本文應涵蓋以下主題:

文檔簽名 REST API 和 Node.js SDK

為了簽署 PDFDOCX 文件,我將使用 GroupDocs.Signature Cloud 的 Node.js SDK API。它使您能夠創建、驗證和搜索各種類型的簽名,例如圖像、條形碼、二維碼、基於文本的簽名、數字簽名和圖章簽名。這些簽名可以輕鬆應用於便攜式或簡單的文檔、電子表格、演示文稿和受支持文件格式的圖像。您可以將 API 集成到現有的 Node.js 應用程序中。它還為雲 API 提供 .NET、Java、PHP、Android、Ruby 和 Python SDK 作為其文檔簽名家族成員

您可以在控制台中使用以下命令將 GroupDocs.Signature Cloud 安裝到您的 Node.js 項目:

npm install groupdocs-signature-cloud --save

在執行上述步驟之前,請從 dashboard 獲取您的 Client ID 和 Secret。獲得 ID 和密碼後,添加如下所示的代碼:

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const config = new groupdocs_signature_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

在 Node.js 中使用 REST API 簽署 Word 文檔

您可以按照以下簡單步驟對雲端的 Word 文檔進行數字簽名:

上傳文件

首先,使用下面給出的代碼示例將Word文檔上傳到雲端:

var resourcesFolder = 'C:\\Files\\sample.docx';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 構建FileApi
  var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);
  // 創建上傳文件請求
  var request = new groupdocs_signature_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  fileApi.uploadFile(request)
});

因此,上傳的 Word 文件將在雲端儀表板的 文件部分 中可用。請使用上述代碼示例將證書和簽名圖像文件上傳到雲端。

使用 Node.js 簽署帶有數字簽名的 Word 文檔

您可以按照以下步驟以編程方式使用數字簽名對 DOCX 文件進行簽名:

  • 創建 SignApi 的實例
  • 創建 FileInfo 的實例
  • 設置DOCX文件路徑
  • 創建 SignDigitalOptions 的實例
  • 將簽名類型設置為數字
  • 設置 ImageFilePath 和 CertificateFilePath
  • 提供密碼
  • 設置簽名位置
  • 創建 SignSettings 的實例
  • 將 SignDigitalOptions 和 SaveOptions 分配給 SignSettings
  • 創建 CreateSignaturesRequest
  • 通過調用 SignApi.createSignatures() 方法獲取結果

以下代碼示例展示瞭如何使用 Node.js 中的 REST API 對 Word 文檔進行數字簽名。

// 初始化接口
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// 創建文件信息
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// 定義符號數字選項
let opts = new groupdocs_signature_cloud.SignDigitalOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Digital;
opts.imageFilePath = "signature.jpg";
opts.certificateFilePath = "certificate.pfx";
opts.password = "1234567890";

// 在頁面上設置簽名位置
opts.left = 350;
opts.top = 450;
opts.width = 200;
opts.height = 100;
opts.location_measure_type = "Pixels";
opts.size_measure_type = "Pixels";
opts.rotation_angle = 0;
opts.horizontal_alignment = "None";
opts.vertical_alignment = "None";
opts.margin = new groupdocs_signature_cloud.Padding();
opts.margin.all = 5;
opts.margin_measure_type = "Pixels";

// 設置頁面顯示簽名
opts.page = 1;

// 定義符號設置
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// 定義保存選項
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedDigital_sample.docx";

// 創建簽名請求
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
let response = await signApi.createSignatures(request);

console.log("Output file link: " + response.downloadUrl);
使用 Node.js 簽署帶有數字簽名的 Word 文檔

使用 Node.js 簽署帶有數字簽名的 Word 文檔

下載簽名文件

上面的代碼示例將簽名的 Word 文件保存在雲端。您可以使用下面給出的代碼示例下載它:

// 構建FileApi
var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);

// 創建下載文件請求
let request = new groupdocs_signature_cloud.DownloadFileRequest("signedDigital_sample.docx", myStorage);
let response = await fileApi.downloadFile(request);

// 保存文件到工作目錄
fs.writeFile("C:\\Files\\signedDigital_sample.docx", response, "binary", function (err) { });

使用 Node.js 簽署帶有數字簽名的 PDF 文檔

您可以按照以下步驟以編程方式使用數字簽名對 PDF 文檔進行簽名:

  • 創建 SignApi 的實例
  • 創建 FileInfo 的實例
  • 設置PDF文件路徑
  • 創建 SignDigitalOptions 的實例
  • 將簽名類型設置為數字
  • 設置 ImageFilePath 和 CertificateFilePath
  • 提供密碼
  • 創建 SignSettings 的實例
  • 將 SignDigitalOptions 和 SaveOptions 分配給 SignSettings
  • 創建 CreateSignaturesRequest
  • 通過調用 SignApi.createSignatures() 方法獲取結果

以下代碼示例展示瞭如何使用 Node.js 中的 REST API 使用數字簽名對 PDF 文檔進行簽名。

// 初始化接口
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// 創建文件信息
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// 定義符號數字選項
let opts = new groupdocs_signature_cloud.SignDigitalOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Digital;
opts.imageFilePath = "signature.jpg";
opts.certificateFilePath = "certificate.pfx";
opts.password = "1234567890";
opts.allPage = true;

// 定義符號選項
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// 定義保存選項
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedDigital_sample.pdf";

// 創建簽名請求
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
let response = await signApi.createSignatures(request);

console.log("Output file link: " + response.downloadUrl);
使用 Node.js 簽署帶有數字簽名的 PDF 文檔

使用 Node.js 簽署帶有數字簽名的 PDF 文檔

在 Node.js 中使用 REST API 驗證數字簽名

您可以按照以下步驟輕鬆地以編程方式驗證數字簽名:

  • 創建 SignApi 的實例
  • 創建 FileInfo 的實例
  • 設置DOCX文件路徑
  • 創建 VerifyDigitalOptions 的實例
  • 將簽名類型設置為數字
  • 創建 VerifySettings 的實例
  • 將 VerifyDigitalOptions 和 FileInfo 分配給 VerifySettings
  • 創建 VerifySignaturesRequest
  • 通過調用 SignApi.verifySignatures() 方法獲取結果
  • 顯示結果

以下代碼示例展示瞭如何在 Node.js 中使用 REST API 驗證數字簽名。

// 初始化接口
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);

// 創建文件信息
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "signedDigital_sample.docx";

// 定義驗證選項
let opts = new groupdocs_signature_cloud.VerifyDigitalOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Digital;

// 定義驗證設置
let settings = new groupdocs_signature_cloud.VerifySettings();
settings.fileInfo = fileInfo;
settings.options = [opts];

// 創建驗證簽名請求
let request = new groupdocs_signature_cloud.VerifySignaturesRequest(settings);
let response = await signApi.verifySignatures(request);

// 顯示結果
if (response.isSuccess) {
  console.log("Successfully verified!");
}
else{
  console.log("Not verified!");
}
在 Node.js 中使用 REST API 驗證數字簽名

在 Node.js 中使用 REST API 驗證數字簽名

在線試用

請試用以下使用上述API開發的免費在線文檔簽名工具。 https://products.groupdocs.app/signature/

結論

在本文中,您了解瞭如何使用雲上的數字簽名對 Word 文檔進行簽名。您還學習瞭如何使用 Node.js 中的 REST API 使用數字簽名對 PDF 文檔進行簽名。此外,您還學習瞭如何以編程方式將 Word 文件上傳到雲端,然後從雲端下載簽名文件。您可以使用 文檔 了解有關 GroupDocs.Signature Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看