Node.js の REST API を使用してデジタル署名でドキュメントに署名する

クラウド上でプログラム的にデジタル署名を使用してドキュメントに電子署名できます。デジタル署名は、ドキュメントの信頼性と完全性を検証するために使用されます。また、署名として機能するコードを文書に添付することもできます。この記事では、Node.js の REST API を使用してデジタル署名でドキュメントに署名する方法に焦点を当てます。

この記事では次のトピックについて説明します。

ドキュメント署名 REST API および Node.js SDK

PDF および DOCX ファイルの署名には、GroupDocs.Signature Cloud の Node.js SDK API を使用します。画像、バーコード、QR コード、テキストベース、デジタル、スタンプ署名など、さまざまなタイプの署名を作成、検証、検索できます。これらの署名は、サポートされているファイル形式のポータブルまたは単純なドキュメント、スプレッドシート、プレゼンテーション、および画像に簡単に適用できます。 API を既存の Node.js アプリケーションに統合できます。また、クラウド API の ドキュメント署名ファミリー メンバー として、.NET、Java、PHP、Android、Ruby、Python SDK も提供します。

コンソールで次のコマンドを使用して、GroupDocs.Signature Cloud を Node.js プロジェクトにインストールできます。

npm install groupdocs-signature-cloud --save

上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 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 のインスタンスを作成する
  • SignatureType をデジタルに設定します
  • ImageFilePath と CertificateFilePath を設定する
  • パスワードを入力してください
  • 署名位置を設定する
  • SignSettings のインスタンスを作成する
  • SignDigitalOptions と SaveOptions を SignSettings に割り当てます。
  • CreateSignaturesRequest を作成する
  • SignApi.createSignatures() メソッドを呼び出して結果を取得します

次のコード例は、Node.js の REST API を使用して、デジタル署名で Word ドキュメントに署名する方法を示しています。

// APIを初期化する
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 のインスタンスを作成する
  • SignatureType をデジタルに設定します
  • ImageFilePath と CertificateFilePath を設定する
  • パスワードを入力してください
  • SignSettings のインスタンスを作成する
  • SignDigitalOptions と SaveOptions を SignSettings に割り当てます。
  • CreateSignaturesRequest を作成する
  • SignApi.createSignatures() メソッドを呼び出して結果を取得します

次のコード例は、Node.js の REST API を使用して、デジタル署名で PDF ドキュメントに署名する方法を示しています。

// APIを初期化する
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 のインスタンスを作成する
  • SignatureType をデジタルに設定します
  • VerifySettings のインスタンスを作成する
  • VerifyDigitalOptions と FileInfo を VerifySettings に割り当てます。
  • VerifySignaturesRequest を作成する
  • SignApi.verifySignatures() メソッドを呼び出して結果を取得します
  • 結果を表示する

次のコード例は、Node.js の REST API を使用してデジタル署名を検証する方法を示しています。

// 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 リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目