PdfMergeSignRequestor - Inclus, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • L’API PdfMergeSignRequestor fournit des méthodes pour ajouter une image représentant une signature à un document PDF.

    Cette API fait partie du module d’extension ServiceNow PDF Generation Utilities (com.snc.apppdfgenerator) et est fournie dans l’espace de noms sn_pdfgeneratorutils . Le module d’extension est activé par défaut.

    Cette API crée un objet de signature qui peut être implémenté dans un PDF à l’aide de PDFGenerationAPI.

    PdfMergeSignRequestor - PdfMergeSignRequestor()

    Instancie un nouvel objet PdfMergeSignRequestor .

    Tableau 1. Paramètres
    Nom Type Description
    Aucun

    Les exemples suivants montrent comment créer un objet PdfMergeSignRequestor .

    var v = new sn_pdfgeneratorutils.PdfMergeSignRequestor;

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

    Attribue des exigences de taille et de position de signature dans le PDF.

    Tableau 2. Paramètres
    Nom Type Description
    pageNumber Numéro Numéro de la page sur laquelle insérer la signature.
    Marge gauche Numéro Valeur en points représentant la zone de marge gauche de la page dans laquelle insérer la signature.
    Marge supérieure Numéro Valeur en points représentant la zone de marge supérieure de la page dans laquelle insérer l’image de signature.
    Largeur de la boîte Numéro Valeur en points représentant la largeur de la zone de confinement de la signature.
    Hauteur de boîte Numéro Valeur en points représentant la hauteur de la zone contenant l’image de signature.
    sysId Chaîne Sys_id de l’image de signature dans la table Pièces jointes [sys_attachment].
    Tableau 3. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment ajouter le mappage de signature. Pour un exemple complet, consultez 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)

    Crée une demande de signature avec les entrées source et cible.

    Tableau 4. Paramètres
    Nom Type Description
    targetSysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment]. Utilisez cette valeur comme PDF cible sur lequel ajouter une signature.
    targetTable Chaîne Nom de la table contenant l’enregistrement auquel le PDF est joint. Vous trouverez cette valeur dans la même ligne que la pièce jointe répertoriée dans le tableau Pièces jointes [sys_attachment].
    tableSysId Chaîne Sys_id de l’enregistrement auquel le PDF est joint. Vous trouverez cette valeur dans la même ligne que la pièce jointe répertoriée dans le tableau Pièces jointes [sys_attachment].
    targetFileName Chaîne Nom du PDF cible sans extension.
    Tableau 5. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment créer une demande de signature. Pour un exemple complet, consultez processRequest().

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

    PdfMergeSignRequestor : processRequest()

    Traite les demandes et ajoute les signatures.

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    Objet Objet contenant la taille de chaque page en cas de succès, message d’erreur dans le cas contraire.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.attachment_id Si la demande aboutit, sys_id du PDF signé et joint. Le fichier est répertorié dans la table Pièces jointes [sys_attachment].

    Type de données : chaîne

    <Object>.Message
    Valeurs possibles :
    • Impossible de poursuivre la demande car la pièce jointe avec sys_id [{0}] n’a pas réussi l’analyse de sécurité : Le PDF n’a pas réussi l’analyse antivirus.
    • Aucun mappage de signature n’est spécifié. Impossible de traiter cette demande : fournissez un mappage de signature à l’aide de la méthode addSignatureMapping().
    • Demande terminée avec succès.
    • Échec de la demande. Exceptions lors de la tentative d’ajout de signatures au document. Veuillez vérifier à nouveau.
    • Cette demande ne peut pas être effectuée car la page demandée n’existe pas. N° de page : <numéro de page>

    Type de données : chaîne

    <Object>.statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération s’est déroulée correctement.
    • échec : échec de l’opération. Fournit message des détails.

    Type de données : chaîne

    L’exemple suivant montre comment traiter la demande de signature.

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