PdfMergeSignRequestor - スコープ対象、グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:6分
  • PdfMergeSignRequestor API は、署名を表す画像を PDF ドキュメントに追加するメソッドを提供します。

    この API は ServiceNow PDF 生成ユーティリティプラグイン (com.snc.apppdfgenerator) の一部であり、 sn_pdfgeneratorutils 名前空間内で提供されます。このプラグインはデフォルトでアクティブ化されています。

    この API は、 PDFGenerationAPI を使用して PDF に実装できる署名オブジェクトを作成します。

    PdfMergeSignRequestor - PdfMergeSignRequestor()

    新しい PdfMergeSignRequestor オブジェクトをインスタンス化します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし

    次の例は、 PdfMergeSignRequestor オブジェクトを作成する方法を示しています。

    var v = new sn_pdfgeneratorutils.PdfMergeSignRequestor;

    PdfMergeSignRequestor - addSignatureMapping(Number pageNumber, Number leftMargin, Number topMargin, Number boxWidth, Number boxHeight, String sysId)

    PDF で署名のサイズと位置の要件を割り当てます。

    表 : 2. パラメーター
    名前 タイプ 説明
    pageNumber 番号 署名を挿入するページ番号。
    左マージン 番号 署名を挿入するページの左マージン領域を表すポイント単位の値。
    topMargin 番号 署名画像を挿入するページの上マージン領域を表すポイント単位の値。
    ボックス幅 番号 署名を格納するボックスの幅を表すポイント単位の値。
    ボックスの高さ 番号 署名画像を格納するボックスの高さを表すポイント単位の値。
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の署名画像のSys_id。
    表 : 3. 戻り値
    タイプ 説明
    なし

    次の例は、署名マッピングを追加する方法を示しています。完全な例については、 processRequest() を参照してください。

    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    
    // For the purpose of this example, set signature sizes and page number for signature placement
    var page = 2;
    var leftMargin = 48;
    var topMargin = 60;
    var signatureWidth = 96;
    var signatureHeight = 36; 
    
    requestor.addSignatureMapping(page, leftMargin, topMargin, signatureWidth, signatureHeight, "<signatureSysId>");

    PdfMergeSignRequestor - createRequest(String targetSysId, String targetTable, String tableSysId, String targetFileName)

    ソースとターゲットの入力を使用して署名要求を作成します。

    表 : 4. パラメーター
    名前 タイプ 説明
    targetSysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF のSys_id。 この値を、署名を追加するターゲット PDF として使用します。
    targetTable 文字列 PDF が添付されているレコードを含むテーブルの名前。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    tableSysId 文字列 PDF が添付されているレコードのSys_id。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    targetFileName 文字列 拡張子のないターゲット PDF の名前。
    表 : 5. 戻り値
    タイプ 説明
    なし

    次の例は、署名要求の作成方法を示しています。完全な例については、 processRequest() を参照してください。

    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", "pdfFileName");

    PdfMergeSignRequestor - processRequest()

    要求を処理し、署名を追加します。

    表 : 6. パラメーター
    名前 タイプ 説明
    なし
    表 : 7. 戻り値
    タイプ 説明
    オブジェクト 成功した場合は各ページのサイズを含むオブジェクト、成功した場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.attachment_id 要求が成功した場合は、署名されて添付された PDF をsys_idします。ファイルは添付ファイル [sys_attachment] テーブルにリストされます。

    データタイプ:文字列

    <Object>.message
    可能な値:
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません:PDF はウイルス対策スキャンに合格しませんでした。
    • 署名マッピングが指定されていません。この要求を処理できません: addSignatureMapping() メソッドを使用して署名マッピングを指定します。
    • 要求が正常に完了しました。
    • 要求の失敗。ドキュメントへの署名の追加中に例外が発生しました。もう一度確認してください。
    • 要求されたページが存在しないため、この要求を完了できません。ページ番号:<ページ番号>

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • 成功:操作が成功しました。
    • 失敗:操作は成功しませんでした。messageに詳細が表示されます。

    データタイプ:文字列

    次の例は、署名要求を処理する方法を示しています。

    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", pdfFileName);
    
    // For the purpose of this example, set signature sizes and page number for signature placement
    var page = 6;
    var leftMargin = 40;
    var topMargin = 50;
    var signatureWidth = 188;
    var signatureHeight = 44; 
    
    requestor.addSignatureMapping(page, leftMargin, topMargin, signatureWidth, signatureHeight, "<signatureSysId>");
    
    var result = requestor.processRequest();
    gs.info(JSON.stringify(result));