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.
PdfMergeSignRequestor - PdfMergeSignRequestor()
Instantiates a new PdfMergeSignRequestor object.
| 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.
| 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. |
| 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.
| 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. |
| 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.
| Name | Type | Description |
|---|---|---|
| None |
| Type | Description |
|---|---|
| Object | Object containing the size of each page if successful, error message otherwise.
|
| <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:
Data type: String |
| <Object>.status | Status indicating whether the operation is successful. Possible values:
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));