PdfMergeSignRequestor - Scoped, Global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • The PdfMergeSignRequestor API provides methods to add an image representing a signature to a PDF document.

    This API is part of the ServiceNow PDF Generation Utilities plugin (com.snc.apppdfgenerator) and is provided within the sn_pdfgeneratorutils namespace. The plugin is activated by default.

    This API creates a signature object that can be implemented in a PDF using PDFGenerationAPI.

    PdfMergeSignRequestor - PdfMergeSignRequestor()

    Instantiates a new PdfMergeSignRequestor object.

    Tableau 1. Parameters
    Name Type Description
    None

    The following examples shows how to create a PdfMergeSignRequestor object.

    var v = new sn_pdfgeneratorutils.PdfMergeSignRequestor;

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

    Assigns signature size and position requirements in the PDF.

    Tableau 2. Parameters
    Name Type Description
    pageNumber Number Number of the page on which to insert the signature.
    leftMargin Number Value in points representing the left margin area of the page at which to insert the signature.
    topMargin Number Value in points representing the top margin area of the page at which to insert the signature image.
    boxWidth Number Value in points representing width of the box to contain the signature.
    boxHeight Number Value in points representing height of the box to contain the signature image.
    sysId String Sys_id of the signature image in the Attachments [sys_attachment] table.
    Tableau 3. Returns
    Type Description
    None

    The following example shows how to add the signature mapping. For a complete example, see 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)

    Creates a signature request with source and target inputs.

    Tableau 4. Parameters
    Name Type Description
    targetSysId String Sys_id of a PDF in the Attachments [sys_attachment] table. Use this value as the target PDF on which to add a signature.
    targetTable String Name of the table containing the record to which the PDF is attached. You can find this value in the same row as the attachment listed in the Attachments [sys_attachment] table.
    tableSysId String Sys_id of the record to which the PDF is attached. You can find this value in the same row as the attachment listed in the Attachments [sys_attachment] table.
    targetFileName String Name of the target PDF without extension.
    Tableau 5. Returns
    Type Description
    None

    The following example shows how to create a signature request. For a complete example, see processRequest().

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

    PdfMergeSignRequestor - processRequest()

    Processes requests and adds the signatures.

    Tableau 6. Parameters
    Name Type Description
    None
    Tableau 7. Returns
    Type Description
    Object Object containing the size of each page if successful, error message otherwise.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.attachment_id If the request is successful, sys_id of the signed and attached PDF. The file is listed in the Attachments [sys_attachment] table.

    Data type: String

    <Object>.message
    Possible values:
    • Request cannot proceed as the attachment with sys_id [{0}] did not pass security scan – The PDF did not pass the antivirus scan.
    • No signature mapping specified. Cannot process this request – Provide signature mapping using the addSignatureMapping() method.
    • Request completed successfully.
    • Request failure. Exceptions while trying to add signatures to document. Please check again.
    • This request cannot be completed as the requested page does not exist. page No: <page number>

    Data type: String

    <Object>.status Status indicating whether the operation is successful.
    Possible values:
    • success - Operation was successful.
    • failure – Operation was not successful. The message provides details.

    Data type: String

    The following example shows how to process the signature request.

    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));