Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

PdfMergeSignRequestor - Scoped, Global

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.

Parent Topic:Server API reference

PdfMergeSignRequestor - PdfMergeSignRequestor()

Instantiates a new PdfMergeSignRequestor object.

NameTypeDescription
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.

NameTypeDescription
pageNumberNumberNumber of the page on which to insert the signature.
leftMarginNumberValue in points representing the left margin area of the page at which to insert the signature.
topMarginNumberValue in points representing the top margin area of the page at which to insert the signature image.
boxWidthNumberValue in points representing width of the box to contain the signature.
boxHeightNumberValue in points representing height of the box to contain the signature image.
sysIdStringSys_id of the signature image in the Attachments [sys_attachment] table.
TypeDescription
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.

NameTypeDescription
targetSysIdStringSys_id of a PDF in the Attachments [sys_attachment] table. Use this value as the target PDF on which to add a signature.
targetTableStringName 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.
tableSysIdStringSys_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.
targetFileNameStringName of the target PDF without extension.
TypeDescription
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.

NameTypeDescription
None  
TypeDescription
ObjectObject containing the size of each page if successful, error message otherwise.
{
  "attachment_id": "String",
  "message": "String",
  "status": "String"
}
<Object>.attachment\_idIf 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>.messagePossible 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));