PDFGenerationAPI - Incluse dans le périmètre, globale

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 29 minutes de lecture
  • PDFGenerationAPI prend en charge la conversion PDF et la gestion des champs 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.

    Ces méthodes peuvent également être utilisées pour les documents créés par des éléments hors catalogue. Les méthodes de cette classe activent les tâches suivantes :
    • Générer dynamiquement un PDF à partir d’une chaîne HTML et le joindre à un enregistrement
    • Renseigner les champs dans un PDF
    • Signer un PDF
    • Non aplati, aplati ou partiellement aplati
    • Récupération des données de champ PDF

    PDFGenerationAPI – convertToPDF(String html, String targetTable, String targetTableSysId, String pdfName, String fontFamilySysId, Object documentConfiguration)

    Convertit une chaîne HTML en document PDF.

    Pour générer un PDF avec des informations d’en-tête et de pied de page, telles que les numéros de page, utilisez convertToPDFWithHeaderFooter().

    Tableau 1. Paramètres
    Nom Type Description
    html Chaîne HTML à convertir en document PDF.
    targetTable Chaîne Nom de la table à laquelle joindre le PDF converti.
    targetTableSysId Chaîne Sys_id de l’enregistrement auquel joindre le PDF converti.
    Nom du PDF Chaîne Nom à attribuer au PDF.

    Valeur par défaut : Sys_id du PDF dans la table Pièces jointes [sys_attachment].

    fontFamilySysId Chaîne Facultatif. Sys_id de la famille de polices à utiliser pour le PDF. Cette sys_id provient de la table Famille de polices de génération PDF [sys_pdf_generation_font_family].

    Valeur par défaut : aucune

    configuration du document Objet Facultatif. Objet contenant une configuration de table des matières et une configuration de numéro de page.
    {​
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.toc_config Chaîne Facultatif. Sys_id de la configuration de table des matières à utiliser pour le PDF. Cette sys_id provient de la table Configuration du sommaire [doc_toc_config].

    Valeur par défaut : aucune

    documentConfiguration.page_number_config Chaîne Facultatif. Sys_id de la configuration du numéro de page à utiliser pour le PDF. Cette sys_id provient de la table Configuration du numéro de page [doc_page_number_config].

    Valeur par défaut : aucune

    Tableau 2. Renvoie
    Type Description
    Objet Objet contenant la sys_id de la pièce jointe PDF si la conversion réussit, message d’erreur dans le cas contraire.
    {
      "attachment_id": "String",
      "message": "String",
      "request_id": "String",
      "status": "String"
    }
    <Object>.​attachment_id Si la conversion HTML réussit, sys_id du PDF converti et joint. Le fichier est répertorié dans la table Pièces jointes [sys_attachment].

    Type de données : chaîne

    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs possibles :
    • Échec de la conversion. – Aucun PDF créé. Assurez-vous que les valeurs fournies sont exactes.
    • La conversion est réussie. – Le HTML a été converti avec succès en PDF.
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • L’enregistrement cible donné [&lt;tableName> &lt;targetTableSysId>] n’existe pas. – Le sys_id de la table cible n’est pas dans la table fournie. Assurez-vous d’inclure le nom de table correct pour l’enregistrement.
    • Aucun formulaire associé au pdf à remplir. attachmentSysId : &lt;sys_id>
    • Il n’existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : &lt;noms de champs>
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.request_id Sys_id de l’enregistrement de la demande du créateur de changement.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment convertir un code HTML en PDF et le joindre à un enregistrement de la table Incident [incident].

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var result = v.convertToPDF(html, "incident", "<target_sys_id>", "myPDF");
    gs.info(JSON.stringify(result));

    Sortie :

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

    PDFGenerationAPI – convertToPDFWithHeaderFooter(String html, String targetTable, String targetTableSysId, String pdfName, Object headerFooterInfo, String fontFamilySysId, Object documentConfiguration)

    Convertit une chaîne HTML en PDF avec un contenu d’en-tête et de pied de page.

    Utilisez cette méthode pour générer des fichiers PDF avec des paramètres de page :
    • Informations d’en-tête et de pied de page
    • Tailles des marges
    • Orientation
    • Énumération
    • Taille de page
    Tableau 3. Paramètres
    Nom Type Description
    html Chaîne HTML à convertir en document PDF.
    targetTable Chaîne Nom de la table à laquelle joindre le PDF converti.
    targetTableSysId Chaîne Sys_id de l’enregistrement auquel joindre le PDF converti.
    Nom du PDF Chaîne Nom à attribuer au PDF.

    Valeur par défaut : Sys_id du PDF dans la table Pièces jointes [sys_attachment].

    en-têteFooterInfo Objet Définit les détails de l’en-tête et du pied de page PDF.
    {
      "FooterImageAlignment": "String",
      "FooterImageAttachmentId": "String",
      "FooterImageHeight": "String",
      "FooterText": "String",
      "FooterTextAlignment": "String",
      "GeneratePageNumber": "String",
      "HeaderImageAlignment": "String",
      "HeaderImageAttachmentId": "String",
      "HeaderImageHeight": "String",
      "LeftOrRightMargin": "String",
      "PageOrientation": "String",
      "PageSize": "String",
      "TopOrBottomMargin": "String"
    }
    headerFooterInfo.Alignement de l’image du pied de page Chaîne Définit la position de l’image dans le pied de page.
    Valeurs valides :
    • BOTTOM_CENTER : positionnez l’image en bas au centre du pied de page.
    • BOTTOM_LEFT : Positionnez l’image dans la zone inférieure gauche du pied de page.
    • BOTTOM_RIGHT : Positionnez l’image dans la zone inférieure droite du pied de page.
    • TOP_CENTER : positionnez l’image en haut au centre du pied de page.
    • TOP_LEFT : positionnez l’image dans la partie supérieure gauche du pied de page.
    • TOP_RIGHT : Positionnez l’image dans la partie supérieure droite du pied de page.
    headerFooterInfo.FooterImageAttachmentId Chaîne Sys_id de l’image de pied de page dans la table Pièces jointes [sys_attachment]. Pour déterminer si le type de fichier est pris en charge dans votre instance, accédez à Propriétés système > Sécurité et vérifiez s’il est répertorié dans le champ Liste des extensions de fichiers (séparées par des virgules) qui peuvent être jointes .
    headerFooterInfo.Hauteur de l’image du pied de page Chaîne Hauteur de l’image de pied de page.

    Par défaut : 50 points

    headerFooterInfo.Texte de pied de page Chaîne Texte de pied de page à placer au bas de chaque page PDF.
    headerFooterInfo.Alignement du texte du pied de page Chaîne Définit la position du texte dans le pied de page. Assurez-vous que cette valeur ne correspond pas à la zone fournie dans headerFooterInfo.FooterImageAlignment.
    Valeurs valides :
    • BOTTOM_CENTER : positionnez le texte en bas au centre du pied de page.
    • BOTTOM_LEFT : positionnez le texte dans la zone inférieure gauche du pied de page.
    • BOTTOM_RIGHT : positionnez le texte dans la zone inférieure droite du pied de page.
    • TOP_CENTER : positionnez le texte en haut au centre du pied de page.
    • TOP_LEFT : positionnez le texte dans la partie supérieure gauche du pied de page.
    • TOP_RIGHT : positionnez le texte dans la partie supérieure droite du pied de page.
    headerFooterInfo.GeneratePageNumber (Générer un numéro de page) Chaîne Marqueur indiquant s’il faut générer un numéro de page PDF.
    Valeurs valides :
    • true : générer des numéros de page.
    • false : ne génère pas de numéros de page.

    Valeur par défaut : true

    headerFooterInfo.Alignement de l’image d’en-tête Chaîne Définit la position de l’image dans l’en-tête.
    Valeurs valides :
    • center : positionnez l’image au centre de l’en-tête.
    • left : positionnez l’image sur le côté gauche de l’en-tête.
    • right : positionnez l’image sur le côté droit de l’en-tête.
    headerFooterInfo.En-tête ImageAttachmentId Chaîne Sys_id de l’image d’en-tête dans la table Pièces jointes [sys_attachment]. Pour déterminer si le type de fichier est pris en charge dans votre instance, accédez à Propriétés système > Sécurité et vérifiez s’il est répertorié dans le champ Liste des extensions de fichiers (séparées par des virgules) qui peuvent être jointes .
    headerFooterInfo.En-tête ImageHeight Chaîne Hauteur de l’image d’en-tête.

    Par défaut : 50 points

    headerFooterInfo.Marge gauche ou droite Chaîne Taille des marges gauche et droite. S’ils sont positionnés à gauche ou à droite de la page, les détails de l’en-tête/pied de page sont placés dans cette zone.

    Par défaut : 36 points

    headerFooterInfo.Orientation de la page Chaîne Orientation de la page.
    Valeurs valides :
    • PORTRAIT
    • PAYSAGE

    Par défaut : Portrait

    headerFooterInfo.Pagesize Chaîne Taille de la page du document.
    Valeurs valides :
    • A4 – 595 × 842 points
    • LETTRE – 612 × 792 points
    • GRAND LIVRE – 792 x 1224 points
    headerFooterInfo.TopOrBottomMargin Chaîne Taille des marges supérieure et inférieure. Les détails de l’en-tête et du pied de page sont placés dans cette zone.

    Par défaut : 72 points

    fontFamilySysId Chaîne Facultatif. Sys_id de la famille de polices à utiliser pour le PDF. Cette sys_id provient de la table Famille de polices de génération PDF [sys_pdf_generation_font_family].

    Valeur par défaut : aucune

    configuration du document Objet Facultatif. Objet contenant une configuration de table des matières et une configuration de numéro de page.
    {​
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.toc_config Chaîne Facultatif. Sys_id de la configuration de table des matières à utiliser pour le PDF. Cette sys_id provient de la table Configuration du sommaire [doc_toc_config].

    Valeur par défaut : aucune

    documentConfiguration.page_number_config Chaîne Facultatif. Sys_id de la configuration du numéro de page à utiliser pour le PDF. Cette sys_id provient de la table Configuration du numéro de page [doc_page_number_config].

    Valeur par défaut : aucune

    Tableau 4. Renvoie
    Type Description
    Objet Objet contenant la sys_id de la pièce jointe PDF si la conversion réussit, message d’erreur dans le cas contraire.
    {
      "attachment_id": "String",
      "message": "String",
      "request_id": "String",
      "status": "String"
    }
    <Object>.​attachment_id Si la conversion HTML réussit, sys_id du PDF converti et joint. Le fichier est répertorié dans la table Pièces jointes [sys_attachment].

    Type de données : chaîne

    <Object>.​Message Message confirmant la réussite ou l’erreur.
    Valeurs possibles :
    • Échec de la conversion. – Aucun PDF créé. Assurez-vous que les valeurs fournies sont exactes.
    • La conversion est réussie. – Le HTML a été converti avec succès en PDF.
    • Pied de page L’alignement de l’image et l’alignement du texte ne peuvent pas se trouver dans la même région avec le même alignement : &lt;valeur footerImageAlignment> : assurez-vous que headerFooterInfo.​FooterImageAlignment les valeurs et headerFooterInfo.​FooterTextAlignment ne se trouvent pas dans la même zone.
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • L’enregistrement cible donné [&lt;tableName> &lt;targetTableSysId>] n’existe pas. – Le sys_id de la table cible n’est pas dans la table fournie. Assurez-vous d’inclure le nom de table correct pour l’enregistrement.
    • Alignement de l’image de pied de page non valide : &lt;invalid_option> est fournie. – Fournir une option valide dans la headerFooterInfo.​FooterImageAlignment propriété.
    • Alignement du texte de pied de page non valide : « + &lt;invalid_option> + » est fourni. – Fournir une option valide dans la headerFooterInfo.​footerTextAlignment propriété.
    • Aucun formulaire associé au pdf à remplir. attachmentSysId : &lt;sys_id>
    • Il n’existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : &lt;noms de champs>
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Impossible d’obtenir l’image de pied de page. sysId : + &lt;valeur fournie> : assurez-vous que les sys_id fournies headerFooterInfo.​footerImageId sont exactes.
    • Impossible d’obtenir l’image d’en-tête. sysId : + &lt;valeur fournie> : assurez-vous que les sys_id fournies headerFooterInfo.​headerImageId sont exactes.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.request_id Sys_id de l’enregistrement de la demande du créateur de changement.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment convertir HTML en PDF nommé « myPDF » et ajouter le PDF en tant que pièce jointe à un enregistrement dans la table Incident [incident]. Le PDF contient l’en-tête et le pied de page fournis via la pièce jointe.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var hfInfo = new Object();
    hfInfo["HeaderImageAttachmentId"] = "<hdrImgAttSysId>";
    hfInfo["HeaderImageAlignment"] = "left";
    hfInfo["FooterImageAttachmentId"] = "<ftrImgAttSysId>";
    hfInfo["FooterImageAlignment"] = "TOP_CENTER";
    hfInfo["FooterText"] = "Sample Footer Message";
    hfInfo["PageSize"] = "A4";
    hfInfo["GeneratePageNumber"] = "false";
    hfInfo["TopOrBottomMargin"] = "36";
    hfInfo["LeftOrRightMargin"] = "24";
    
    var result = v.convertToPDFWithHeaderFooter(html, "incident", "<targetTbl_sys_id>", "myPDF", hfInfo);
    gs.info(JSON.stringify(result));

    Sortie :

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

    PDFGenerationAPI – fillDocumentFieldsAndFlatten(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, Object flatten)

    Remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.

    Utilisez les méthodes suivantes pour déterminer si le PDF peut être rempli et obtenir des informations de champ :
    PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :
    Tableau 5. Paramètres
    Nom Type Description
    Carte des champs Objet Facultatif. Carte de valeur clé par nom de champ PDF et valeur à remplir. Utilisez la méthode getDocumentFields() pour obtenir la liste des champs disponibles.
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    tableName Chaîne Nom de la table contenant l’enregistrement auquel le PDF est joint. Vous pouvez trouver cette valeur sur la même ligne que la pièce jointe répertoriée dans la table Pièces jointes [sys_attachment].
    tableSysId Chaîne Sys_id de l’enregistrement auquel le PDF est joint. Vous pouvez trouver cette valeur sur la même ligne que la pièce jointe répertoriée dans la table Pièces jointes [sys_attachment].
    Nom du PDF Chaîne Nom à attribuer au PDF.

    Valeur par défaut : Sys_id du PDF dans la table Pièces jointes [sys_attachment].

    Aplatir Objet Facultatif. L’aplatissement des champs permet de verrouiller les champs afin que d’autres utilisateurs ne puissent pas modifier les informations. Spécifiez la clé en tant que « FlattenType » et fournissez une option d’aplatissement sous forme de chaîne.
    Valeurs valides :
    • donot_flatten : ne pas aplatir les champs.
    • partially_flatten permet d’aplatir uniquement les champs qui sont modifiés.
    • fully_flatten : aplatit tous les champs.

    Valeur par défaut : fully_flatten

    {
      "FlattenType": "String" 
    }
    Tableau 6. Renvoie
    Type Description
    Objet Objet contenant sys_id de la pièce jointe PDF mise à jour en cas de réussite, message d’erreur dans le cas contraire.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id Si l’opération réussit, sys_id du PDF rempli. Le fichier est répertorié dans la table Pièces jointes [sys_attachment].

    Type de données : chaîne

    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs valides :
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • L’enregistrement cible donné [&lt;tableName> &lt;targetTableSysId>] n’existe pas. – Le sys_id de la table cible n’est pas dans la table fournie. Assurez-vous d’inclure le nom de table correct pour l’enregistrement.
    • Aucun formulaire associé au pdf à remplir. attachmentSysId : &lt;sys_id>
    • Il n’existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : &lt;noms de champs>
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment remplir des champs et aplatir un PDF modifiable.

    var fieldMap = new Object();
    fieldMap["Last Name First Name Middle Initial"] = "Tuter Abel E.";
    fieldMap["Date of Birth"] = "08101952";
    fieldMap["US SSN"] = "111-22-9999";
    fieldMap["Address"] = "PO Box 344";
    fieldMap["City"] = "Jerome";
    fieldMap["State"] = "AZ";
    fieldMap["Zip"] = "86331";
    
    var flatten = new Object();
    flatten["FlattenType"] = "partially_flatten";
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFieldsAndFlatten(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName", flatten);
    gs.info(JSON.stringify(result));

    Sortie :

    "attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"

    PDFGenerationAPI – fillDocumentFields(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName)

    Remplit les champs d’un PDF modifiable et le joint à l’enregistrement fourni.

    Utilisez les méthodes suivantes pour déterminer si le PDF peut être rempli et obtenir des informations de champ :
    PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :
    Tableau 7. Paramètres
    Nom Type Description
    Carte des champs Objet Facultatif. Carte de valeur clé par nom de champ PDF et valeur à remplir. Utilisez la méthode getDocumentFields() pour obtenir la liste des champs disponibles.
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    tableName Chaîne Nom de la table contenant l’enregistrement auquel le PDF est joint. Vous pouvez trouver cette valeur sur la même ligne que la pièce jointe répertoriée dans la table Pièces jointes [sys_attachment].
    tableSysId Chaîne Sys_id de l’enregistrement auquel le PDF est joint. Vous pouvez trouver cette valeur sur la même ligne que la pièce jointe répertoriée dans la table Pièces jointes [sys_attachment].
    Nom du PDF Chaîne Nom à attribuer au PDF.

    Valeur par défaut : Sys_id du PDF dans la table Pièces jointes [sys_attachment].

    Tableau 8. Renvoie
    Type Description
    Objet Objet contenant sys_id de la pièce jointe PDF mise à jour en cas de réussite, message d’erreur dans le cas contraire.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id Si l’opération réussit, sys_id du PDF rempli. Le fichier est répertorié dans la table Pièces jointes [sys_attachment].

    Type de données : chaîne

    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs valides :
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • L’enregistrement cible donné [&lt;tableName> &lt;targetTableSysId>] n’existe pas. – Le sys_id de la table cible n’est pas dans la table fournie. Assurez-vous d’inclure le nom de table correct pour l’enregistrement.
    • Aucun formulaire associé au pdf à remplir. attachmentSysId : &lt;sys_id>
    • Il n’existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : &lt;noms de champs>
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment renseigner les champs dans un fichier PDF modifiable.

    var fieldMap = new Object();
    fieldMap["Address"] = "Address value here";
    fieldMap["State"] = "State value here";
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFields(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName");
    gs.info(JSON.stringify(result));

    Sortie :

    {"attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – fillFieldsAndMergeSignature(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, PdfMergeSignRequestor, Object flatten)

    remplit les champs d’un PDF modifiable, ajoute l’image de signature, aplatit les champs de données et le joint à l’enregistrement fourni.

    Utilisez les méthodes suivantes pour déterminer si le PDF peut être rempli et obtenir des informations de champ :
    PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :
    Tableau 9. Paramètres
    Nom Type Description
    Carte des champs Objet Facultatif. Carte de valeur clé par nom de champ PDF et valeur à remplir. Utilisez la méthode getDocumentFields() pour obtenir la liste des champs disponibles.
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    tableName Chaîne Nom de la table contenant l’enregistrement auquel le PDF est joint. Vous pouvez trouver cette valeur sur la même ligne que la pièce jointe répertoriée dans la table Pièces jointes [sys_attachment].
    tableSysId Chaîne Sys_id de l’enregistrement auquel le PDF est joint. Vous pouvez trouver cette valeur sur la même ligne que la pièce jointe répertoriée dans la table Pièces jointes [sys_attachment].
    Nom du PDF Chaîne Nom à attribuer au PDF.

    Valeur par défaut : Sys_id du PDF dans la table Pièces jointes [sys_attachment].

    Demandeur PdfMergeSignRequestor (en anglais seulement) Entrée de signature renvoyée par pdfMergeSignRequestor.
    Aplatir Objet Facultatif. L’aplatissement des champs permet de verrouiller les champs afin que d’autres utilisateurs ne puissent pas modifier les informations. Spécifiez la clé en tant que « FlattenType » et fournissez une option d’aplatissement sous forme de chaîne.
    Valeurs valides :
    • donot_flatten : ne pas aplatir les champs.
    • partially_flatten permet d’aplatir uniquement les champs qui sont modifiés.
    • fully_flatten : aplatit tous les champs.

    Valeur par défaut : fully_flatten

    {
      "FlattenType": "String" 
    }
    Tableau 10. Renvoie
    Type Description
    Objet Objet contenant sys_id de la pièce jointe PDF mise à jour en cas de réussite, message d’erreur dans le cas contraire.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id Si l’opération réussit, sys_id du PDF rempli. Le fichier est répertorié dans la table Pièces jointes [sys_attachment].

    Type de données : chaîne

    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs valides :
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • L’enregistrement cible donné [&lt;tableName> &lt;targetTableSysId>] n’existe pas. – Le sys_id de la table cible n’est pas dans la table fournie. Assurez-vous d’inclure le nom de table correct pour l’enregistrement.
    • Aucun formulaire associé au pdf à remplir. attachmentSysId : &lt;sys_id>
    • Il n’existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : &lt;noms de champs>
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment remplir des champs avec signature avec les paramètres par défaut pour aplatir complètement les champs.

    var fieldMap = new Object();
    fieldMap["Address_Salutation"] = "Address value here";
    
    var paramMap = new Object();
    paramMap["FlattenType"] = "partially_flatten";
    
    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<attachmentSysId>", "incident", "<tableSysId>", "filledPdf");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signatureSysId>");
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillFieldsAndMergeSignature(fieldMap, "<attachmentSysId>", "incident", "<tableSysId>", requestor, "filledPdf", paramMap);
    gs.info(JSON.stringify(result));
    Sortie :
    {"attachment_id":"5440d993dbed3010d66be1191396194e","message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – getDocumentFields(String sysId)

    Obtient une liste des champs modifiables dans un document PDF. Permet de répertorier les champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.

    Tableau 11. Paramètres
    Nom Type Description
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    Tableau 12. Renvoie
    Type Description
    Objet Objet contenant l’ID du PDF signé, message d’erreur dans le cas contraire.
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.Champs Si la demande aboutit, liste contenant le nom de chaque champ dans le PDF.

    Type de données : tableau de chaînes

    "fields": ["field_name"]
    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs possibles :
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment récupérer des champs dans une pièce jointe PDF.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFields("attachmentSysId");
    gs.info(JSON.stringify(result));
    

    Sortie :

    {"message":"Request completed successfully.","fields":["NP_formFillable","reset","print","1SSN","Signature.1","5sigDate","Check Box21"],"status":"success"}

    PDFGenerationAPI – getDocumentFieldsType(String sysId)

    Obtient le type de champ de l’ensemble de champs modifiables à partir d’un document PDF.

    Tableau 13. Paramètres
    Nom Type Description
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    Tableau 14. Renvoie
    Type Description
    Objet Objet contenant chaque type de champ PDF en cas de réussite, message d’erreur dans le cas contraire.
    {
      "fields_type": {Object},
      "message": "String",
      "status": "String"
    }
    <Object>.fields_type Objet répertoriant chaque champ dans le PDF spécifié en cas de réussite, message d’erreur dans le cas contraire.

    Type de données : objet

    "fields_type": {
      "<field type>": {Object},
    }
    <Object>.fields_type.&lt;champ> Objet contenant le numéro de page de chaque champ. Le nom &lt;field> représente l’étiquette de champ, par exemple, « SSN », ou une étiquette automatisée représentant le type.

    Type de données : objet

    "<field>": { 
      "fieldsDetails": [Array], // Check boxes, radio buttons, choice boxes only
      "pageNumber": "String",
      "type": "String"
    }
    <Object>.fields_type.&lt;field>.fieldsDetails Liste d’objets contenant le nom de champ et la valeur correspondante de chaque option pour les types de champ de choix.
    Types applicables :
    • Case à cocher
    • Boîte de choix
    • Déroulante
    • Boîte de choix à sélection multiple

    Type de données : tableau

    "fieldsDetails": [ 
      "fieldName": "String",
      "value": "String"
    ]
    <Object>.fields_type.&lt;field>.fieldsDetails.fieldName Nom d’un champ de choix.

    Type de données : chaîne

    <Object>.fields_type.&lt;field>.fieldsDetails.value Valeur d’un champ de choix.

    Type de données : chaîne

    <Object>.fields_type.&lt;field>.pageNumber Numéro de page PDF correspondant à ce champ.

    Type de données : chaîne

    <Object>.fields_type.&lt;field>.type Type de champ PDF.
    Valeurs possibles :
    • check_box
    • choice_box
    • combo_box
    • multi_select_choice_box
    • push_button
    • radio_button
    • signature
    • Texte

    Type de données : chaîne

    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs possibles :
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment récupérer des types de champs dans une pièce jointe PDF. Les résultats comprennent des retours manuels pour plus de lisibilité et sont tronqués pour plus de concision.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFieldsType("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    Sortie :

    {"fields_type":{"1ADDLINE2.25":{"pageNumber":2,"type":"text"},"1ADDLINE2.24":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.23":{"pageNumber":2,"type":"text"},"1ADDLINE2.22":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.11":{"pageNumber":2,"type":"text"},
    "Check Box1":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":2,"type":"check_box"},
    "4consentDate.6":{"pageNumber":4,"type":"text"},"4consentDate.7":{"pageNumber":4,"type":"text"},
    "3SSN.9":{"pageNumber":3,"type":"text"},"3SSN.8":{"pageNumber":3,"type":"text"},"3SSN.7":{"pageNumber":3,"type":"text"},
    "pageNumber":2,"type":"check_box"},"Check Box8":{"fieldsDetails":[{"fieldName":"Off"},{"fieldName":"yes"}],
    "4planAdminDate.8":{"pageNumber":4,"type":"text"},"4planAdminDate.7":{"pageNumber":4,"type":"text"},
    "1FirstName_ID.7":{"pageNumber":2,"type":"text"},
    "Check Box9":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.1":{"pageNumber":2,"type":"text"},"1LN.2":{"pageNumber":2,"type":"text"},
    "Check Box11":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.9":{"pageNumber":2,"type":"text"},
    "Check Box17":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "Check Box16":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.7":{"pageNumber":2,"type":"text"},"Check Box19":{"fieldsDetails":[{"fieldName":"Yes"}],
    "1LN.8":{"pageNumber":2,"type":"text"},"Check Box18":{"fieldsDetails":[{"fieldName":"Yes"}],
    "print":{"pageNumber":2,"type":"push_button"},"4planAdministrator.1":{"pageNumber":4,"type":"text"},
    "1TaxID.9":{"pageNumber":2,"type":"text"},"4SSN.1":{"pageNumber":3,"type":"text"},"4SSN.2":{"pageNumber":3,"type":"text"},
    "Signature.1":{"pageNumber":4,"type":"text"},"1ZIP.2":{"pageNumber":2,"type":"text"},"1ZIP.3":{"pageNumber":2,"type":"text"},
    "message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – getFilledDocumentWithSignatureAsBase64(Object fieldsMap, String sysId, PdfMergeSignRequestor requestor, Object flatten)

    : remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.

    Le codage Base64 vous permet de sortir un PDF sous forme de chaîne dans un document texte, tel que HTML ou JSON, sans endommager la syntaxe des caractères binaires.

    Utilisez les méthodes suivantes pour déterminer si le PDF peut être rempli et obtenir des informations de champ :
    PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :
    • fillDocumentFields()Remplit les champs d’un PDF modifiable et le joint à l’enregistrement fourni.
    • fillDocumentFieldsAndFlatten()Remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.
    • fillFieldsAndMergeSignature()remplit les champs d’un PDF modifiable, ajoute l’image de signature, aplatit les champs de données et le joint à l’enregistrement fourni.
    Tableau 15. Paramètres
    Nom Type Description
    Carte des champs Objet Facultatif. Carte de valeur clé par nom de champ PDF et valeur à remplir. Utilisez la méthode getDocumentFields() pour obtenir la liste des champs disponibles.
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    Demandeur PdfMergeSignRequestor (en anglais seulement) Entrée de signature renvoyée par pdfMergeSignRequestor.
    Aplatir Objet Facultatif. L’aplatissement des champs permet de verrouiller les champs afin que d’autres utilisateurs ne puissent pas modifier les informations. Spécifiez la clé en tant que « FlattenType » et fournissez une option d’aplatissement sous forme de chaîne.
    Valeurs valides :
    • donot_flatten : ne pas aplatir les champs.
    • partially_flatten permet d’aplatir uniquement les champs qui sont modifiés.
    • fully_flatten : aplatit tous les champs.

    Valeur par défaut : fully_flatten

    {
      "FlattenType": "String" 
    }
    Tableau 16. Renvoie
    Type Description
    Chaîne En cas de réussite, le PDF converti au format Base64 est ajouté à la table Pièces jointes [sys_attachment]. Le contenu reflète la pièce jointe PDF fournie avec les champs et la signature remplis. Les champs ne sont pas modifiables à moins qu’une autre option d’aplatissement n’ait été fournie avec le flatten paramètre.
    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs valides :
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • L’enregistrement cible donné [&lt;tableName> &lt;targetTableSysId>] n’existe pas. – Le sys_id de la table cible n’est pas dans la table fournie. Assurez-vous d’inclure le nom de table correct pour l’enregistrement.
    • Aucun formulaire associé au pdf à remplir. attachmentSysId : &lt;sys_id>
    • Il n’existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : &lt;noms de champs>
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment charger deux champs dans une pièce jointe PDF, aplatir les champs et convertir le PDF au format Base64.

    var mymap = new Object();
    mymap["City"] = "City value here";
    mymap["State"] = "XX";
    
    // create a requestor
    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", "pdfName");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signImgSysId>");
    var processedRequestObj = requestor.processRequest();
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    var result = v.getFilledDocumentWithSignatureAsBase64(mymap, "<attachmentSysId>", processedRequestObj);
    gs.info (JSON.stringify(result));

    PDFGenerationAPI – getPdfPageSizes(String sysId)

    Obtient la taille de page d’un document PDF.

    Tableau 17. Paramètres
    Nom Type Description
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    Tableau 18. Renvoie
    Type Description
    Objet Objet contenant la taille de chaque page en cas de réussite, message d’erreur dans le cas contraire.
    {
      "pages_size": {Object},
      "message": "String",
      "status": "String"
    }
    <Object>.pages_taille Si l’opération réussit, la largeur et la hauteur de chaque page PDF en points. Le numéro de page est renvoyé sous forme de chaîne et les valeurs de mesure sont renvoyées sous forme de types de données numériques.

    Type de données : objet

    "pages_size": {"<page number>":[<width>,<height>]}
    <Object>.Message Message confirmant la réussite ou l’erreur.
    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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment afficher la largeur et la hauteur de chaque page dans une pièce jointe PDF.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getPdfPageSizes ("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    Sortie :

    {"pages_size":{"1":[612,792],"2":[612,792],"3":[612,792],"4":[612,792],"5":[612,792]},"message":"Request completed successfully.","status":"success"}
    

    PDFGenerationAPI – isDocumentFillable(String sysId)

    Vérifie si le document PDF contient des champs modifiables.

    Tableau 19. Paramètres
    Nom Type Description
    sysId Chaîne Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment].
    Tableau 20. Renvoie
    Type Description
    Objet Objet contenant la taille de chaque page en cas de réussite, message d’erreur dans le cas contraire.
    {
      "document_editable": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​document_editable Si l’opération réussit, marqueur indiquant si le document est modifiable.
    Valeurs valides :
    • true : le document PDF comporte des champs modifiables.
    • false : le document PDF n’a pas de champs modifiables.

    Type de données : valeur booléenne fournie sous forme de chaîne

    <Object>.Message Message confirmant la réussite ou l’erreur.
    Valeurs possibles :
    • Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. – La pièce jointe d’entrée fournie n’est pas un PDF valide. Fournissez les sys_id de pièce jointe appropriées.
    • 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.
    • Impossible de poursuivre la demande, car la pièce jointe avec sys_id [{0}] est en attente d’analyse de sécurité : le PDF nécessite une analyse antivirus.
    • Demande terminée avec succès : l’opération est réussie.
    • Non défini : Sys_id fourni n’existe pas ou n’est pas une pièce jointe PDF.

    Type de données : chaîne

    <Object>.Statut État indiquant si l’opération a réussi.
    Valeurs possibles :
    • réussite : l’opération a réussi.
    • échec : l’opération n’a pas réussi. Le message fournit des détails.

    Type de données : chaîne

    L’exemple suivant montre comment déterminer si les champs d’un document PDF sont modifiables.

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.isDocumentFillable("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    Sortie :

    {"message":"Request completed successfully.","document_editable":"true","status":"success"}

    PDFGenerationAPI – PDFGenerationAPI()

    Instancie un nouvel objet PDFGenerationAPI .

    Tableau 21. Paramètres
    Nom Type Description
    Néant

    L’exemple suivant montre comment créer un objet PDFGenerationAPI .

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;