---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# PDFGenerationAPI - Inclus, global

# PDFGenerationAPI - Inclus, global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 33 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 autres que des éléments de 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
  * [PDFGenerationAPI -- convertToPDF(String html, String targetTable, String targetTableSysId, String pdfName, String fontFamilySysId, Object documentConfiguration)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-convertToPDF_S_S_S_S "Convertit une chaîne HTML en document PDF.")
  * [PDFGenerationAPI -- convertToPDFWithHeaderFooter(String html, String targetTable, String targetTableSysId, String pdfName, Object headerFooterInfo, String fontFamilySysId, Object documentConfiguration)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-convertToPDFWithHdrFtr_S_S_S_S_O "Convertit une chaîne HTML en PDF avec contenu d’en-tête et de pied de page.")
  {#PDFGenerationAPIBothAPI__ul_ocm_vpr_tbc}
* Renseigner les champs d'un PDF
  * [PDFGenerationAPI -- fillDocumentFieldsAndFlatten(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, Object flatten)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocFieldsFlatten_O_S_S_S_S_O "remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.")
  * [PDFGenerationAPI -- fillDocumentFields(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocumentFields_O_S_S_S_S "remplit les champs d’un PDF modifiable et le joint à l’enregistrement fourni.")
  * [PDFGenerationAPI -- isDocumentFillable(String sysId)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-isDocumentFillable_S "Vérifie si le document PDF contient des champs modifiables.")
  {#PDFGenerationAPIBothAPI__ul_kvf_spr_tbc}
* Signer un PDF
  * [PDFGenerationAPI -- fillFieldsAndMergeSignature(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, PdfMergeSignRequestor requestor, Object flatten)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillFieldsMergeSig_O_S_S_S_S_O_O "remplit les champs d’un PDF modifiable, ajoute l’image de signature, aplatit les champs de données et les joint à l’enregistrement fourni.")
  * [PDFGenerationAPI -- getFilledDocumentWithSignatureAsBase64(Object fieldsMap, String sysId, PdfMergeSignRequestor requestor, Object flatten)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getFilDocWithSigAsBase64_O_S_O_O "remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.")
  {#PDFGenerationAPIBothAPI__ul_xzr_frr_tbc}
* Restreindre la modification des champs remplis comme aplatis ou partiellement aplatis -- [PDFGenerationAPI -- fillDocumentFieldsAndFlatten(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, Object flatten)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocFieldsFlatten_O_S_S_S_S_O "remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.")
* Récupérer les données de champ et de taille de page PDF
  * [PDFGenerationAPI -- getPdfPageSizes(String sysId)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getPdfPageSizes_S "Obtient la taille de page d’un document PDF.")
  * [PDFGenerationAPI -- getDocumentFieldsType(String sysId)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFieldsType_S "Obtient le type de champ de l’ensemble de champs modifiables à partir d’un document PDF.")
  * [PDFGenerationAPI -- getDocumentFields(String sysId)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFields_S "Obtient une liste de champs modifiables dans un document PDF. Active la liste des champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.")
  {#PDFGenerationAPIBothAPI__ul_e2p_ypr_tbc}
* Caviarder l'information dans un PDF -- [PDFGenerationAPI -- redact(Object inputJson)](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-redact_O "Applique un caviardage à un document PDF en fonction des coordonnées du rectangle, des mots-clés de recherche ou des deux. Une copie expurgée du PDF d’origine est générée dans la table Pièces jointes [sys_attachment].")
{#PDFGenerationAPIBothAPI__ul_csg_2vl_l4b}  
API associées :

* [PdfMergeSignRequestor (en anglais seulement)](https://servicenow-prod.fluidtopics.net/c6aaxHDPw5kjgTrnSUDK_g#PdfMergeSignRequestorBothAPI "L’API PdfMergeSignRequestor fournit des méthodes pour ajouter une image représentant une signature à un document PDF.")
* [SVGToPDFConversionAPI](https://servicenow-prod.fluidtopics.net/5_EFMOAe3UGJO_QAuo3~cw#SVGToPDFConversionAPBothAPI "SVGToPDFConversionAPI fournit des méthodes qui permettent l’ajout d’un SVG à un PDF et la conversion d’un SVG en PDF.")

## PDFGenerationAPI -- PDFGenerationAPI() {#ariaid-title2}

Instancie un nouvel objet PDFGenerationAPI .
{#P-PDFGenerationAPI__table_twm_hjk_34b__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 1. Paramètres]

{#P-PDFGenerationAPI__table_twm_hjk_34b}  
L'exemple suivant montre comment créer un objet PDFGenerationAPI .

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

## PDFGenerationAPI -- convertToPDF(String html, String targetTable, String targetTableSysId, String pdfName, String fontFamilySysId, Object documentConfiguration) {#ariaid-title3}

Convertit une chaîne HTML en document PDF.
Cette méthode crée un PDF en utilisant le format de page A4 -- 595 × 842 points. Le contenu sera tronqué s'il dépasse cette taille.

Pour générer un PDF avec des paramètres supplémentaires, tels que la taille de la page, l'orientation et les numéros de page, utilisez [convertToPDFWithHeaderFooter().](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-convertToPDFWithHdrFtr_S_S_S_S_O "Convertit une chaîne HTML en PDF avec contenu d’en-tête et de pied de page.")
{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b__entry__3}{#P-convertToPDF_S_S_S_S__api_pdfgen_parm_fill_tableN_desc}

| 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 pdf | Chaîne | Nom à donner au PDF. Par défaut : Sys_id du fichier 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\]. Par défaut : aucun |
| documentConfiguration (en anglais) | 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 de configuration de table des matières \[doc_toc_config\]. Par défaut : aucun |
| 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 des numéros de page \[doc_page_number_config\]. Par défaut : aucun |
[Tableau 2. Paramètres]

{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b} {#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b__entry__2}{#P-convertToPDF_S_S_S_S__row_pdfgen_ret_msgCnv}

| Type | Description |
|-|-|
| Objet | Objet contenant 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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * L'enregistrement cible donné \[\<tableName\> \<targetTableSysId\>\] n'existe pas. : l'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 : \<sys_id\> * Il n'existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : \<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. {#P-convertToPDF_S_S_S_S__ul_zv2_wq3_k4b} Type de données : chaîne |
| \<Object\>.request_id | Sys_id de l'enregistrement de 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 s'est déroulée correctement. * échec : échec de l'opération. Fournit message des détails. {#P-convertToPDF_S_S_S_S__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 3. Renvoie]

{#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b}  
L'exemple suivant montre comment convertir du code HTML en PDF et le joindre à un enregistrement dans 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) {#ariaid-title4}

Convertit une chaîne HTML en PDF avec contenu d'en-tête et de pied de page.
Utilisez cette méthode pour générer des PDF avec des paramètres de page :

* Informations sur l'en-tête et le pied de page
* Tailles des marges
* Orientation
* Énumération
* Taille de page
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_iqx_3xc_l4b}
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b__entry__3}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__api_pdfgen_parm_fill_tableN_desc}

| 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 pdf | Chaîne | Nom à donner au PDF. Par défaut : Sys_id du fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
| headerFooterInfo | 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.FooterImageAlignment | 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. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_ezt_f4c_l4b} |
| headerFooterInfo.Pied de pageImageAttachmentId | 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 fichier (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.FooterTextAlignment | 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 partie 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. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lfd_mdd_l4b} |
| headerFooterInfo.GeneratePageNumber (en anglais seulement) | Chaîne | Marqueur indiquant s'il faut générer un numéro de page PDF. Valeurs valides : * vrai : générer des numéros de page. * false : ne pas générer de numéros de page. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zlg_4cp_k4b} Valeur par défaut : true |
| headerFooterInfo.HeaderImageAlignment | 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. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_qjq_npc_l4b} |
| 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 fichier (séparées par des virgules) qui peuvent être jointes . |
| headerFooterInfo.Hauteur de l'image de l'en-tête | 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'il est positionné à 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 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lyr_qyc_l4b} 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 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_dml_q2p_k4b} Le contenu est tronqué s'il dépasse la taille de la page. |
| headerFooterInfo.Marge supérieure ou inférieure | Chaîne | Taille des marges supérieure et inférieure. Les détails d'en-tête et de 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\]. Par défaut : aucun |
| documentConfiguration (en anglais) | 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 de configuration de table des matières \[doc_toc_config\]. Par défaut : aucun |
| 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 des numéros de page \[doc_page_number_config\]. Par défaut : aucun |
[Tableau 4. Paramètres]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b} {#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b__entry__2}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__row_pdfgen_ret_msgCnv}

| Type | Description |
|-|-|
| Objet | Objet contenant 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 : \<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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * L'enregistrement cible donné \[\<tableName\> \<targetTableSysId\>\] n'existe pas. : l'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 : \<invalid_option\> est fournie. -- Fournir une option valide dans la headerFooterInfo.FooterImageAlignment propriété. * Alignement du texte de pied de page non valide : \<\< + \<invalid_option\> + \>\> est fourni. -- Fournir une option valide dans la headerFooterInfo.footerTextAlignment propriété. * Aucun formulaire associé au pdf à remplir. attachmentSysId : \<sys_id\> * Il n'existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : \<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 : + \<valeur fournie\> : assurez-vous que le sys_id fourni headerFooterInfo.footerImageId est exact. * Impossible d'obtenir l'image d'en-tête. sysId : + \<valeur fournie\> : assurez-vous que le sys_id fourni headerFooterInfo.headerImageId est exact. * Non défini : Sys_id fourni n'existe pas ou n'est pas une pièce jointe PDF. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zv2_wq3_k4b} Type de données : chaîne |
| \<Object\>.request_id | Sys_id de l'enregistrement de 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 s'est déroulée correctement. * échec : échec de l'opération. Fournit message des détails. {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 5. Renvoie]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b}  
L'exemple suivant montre comment convertir du code HTML en PDF nommé \<\< myPDF \>\> et ajouter le fichier PDF en tant que pièce jointe à un enregistrement dans la table Incident \[incident\]. Le PDF contient un en-tête et un pied de page fournis par 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 -- fillDocumentFields(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName) {#ariaid-title5}

remplit les champs d'un PDF modifiable et le joint à l'enregistrement fourni.
Utilisez les méthodes suivantes pour déterminer si le fichier PDF peut être rempli et obtenir des informations de champ :

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-isDocumentFillable_S "Vérifie si le document PDF contient des champs modifiables.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFields_S "Obtient une liste de champs modifiables dans un document PDF. Active la liste des champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFieldsType_S "Obtient le type de champ de l’ensemble de champs modifiables à partir d’un document PDF.")
{#P-fillDocumentFields_O_S_S_S_S__ul_e1m_kpj_l4b}  
PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :

* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocFieldsFlatten_O_S_S_S_S_O "remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable, aplatit les champs de données et les joint à l'enregistrement fourni.
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillFieldsMergeSig_O_S_S_S_S_O_O "remplit les champs d’un PDF modifiable, ajoute l’image de signature, aplatit les champs de données et les joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable, ajoute l'image de signature, aplatit les champs de données et les joint à l'enregistrement fourni.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getFilDocWithSigAsBase64_O_S_O_O "remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.") -- remplit les champs d'un PDF modifiable, crée une image et la convertit en PDF codé en base64.
{#P-fillDocumentFields_O_S_S_S_S__ul_lyz_lft_l4b}
{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b__entry__3}{#P-fillDocumentFields_O_S_S_S_S__ph_api_pdfgen_parm_attIDesc}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblName}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblID}

| 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 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\]. |
| Nom pdf | Chaîne | Nom à donner au PDF. Par défaut : Sys_id du fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
[Tableau 6. Paramètres]

{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b} {#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b__entry__2}{#P-fillDocumentFields_O_S_S_S_S__desc-fill-only}{#P-fillDocumentFields_O_S_S_S_S__desc_pdfgen_ret_attID_Fill}

| Type | Description |
|-|-|
| Objet | Objet contenant sys_id de la pièce jointe PDF mise à jour en cas de succès, 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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * L'enregistrement cible donné \[\<tableName\> \<targetTableSysId\>\] n'existe pas. : l'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 : \<sys_id\> * Il n'existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : \<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. {#P-fillDocumentFields_O_S_S_S_S__ul_eln_fwk_l4b} 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. {#P-fillDocumentFields_O_S_S_S_S__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 7. Renvoie]

{#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b}  
L'exemple suivant montre comment remplir les champs d'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 -- fillDocumentFieldsAndFlatten(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, Object flatten) {#ariaid-title6}

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 fichier PDF peut être rempli et obtenir des informations de champ :

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-isDocumentFillable_S "Vérifie si le document PDF contient des champs modifiables.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFields_S "Obtient une liste de champs modifiables dans un document PDF. Active la liste des champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFieldsType_S "Obtient le type de champ de l’ensemble de champs modifiables à partir d’un document PDF.")
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocumentFields_O_S_S_S_S "remplit les champs d’un PDF modifiable et le joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable et le joint à l'enregistrement fourni.
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillFieldsMergeSig_O_S_S_S_S_O_O "remplit les champs d’un PDF modifiable, ajoute l’image de signature, aplatit les champs de données et les joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable, ajoute l'image de signature, aplatit les champs de données et les joint à l'enregistrement fourni.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getFilDocWithSigAsBase64_O_S_O_O "remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.") -- remplit les champs d'un PDF modifiable, crée une image et la convertit en PDF codé en base64.
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_lyz_lft_l4b}
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b__entry__3}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ph_api_pdfgen_parm_attIDesc}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblName}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblID}

| 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 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\]. |
| Nom pdf | Chaîne | Nom à donner au PDF. Par défaut : Sys_id du fichier 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 : n'aplatissez aucun champ. * partially_flatten : aplatit uniquement les champs qui sont modifiés. * fully_flatten : aplatit tous les champs. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_mwn_5wc_k4b} Par défaut : fully_flatten { "FlattenType": "String" } |
[Tableau 8. Paramètres]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b} {#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b__entry__2}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc-fill-only}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc_pdfgen_ret_attID_Fill}

| Type | Description |
|-|-|
| Objet | Objet contenant sys_id de la pièce jointe PDF mise à jour en cas de succès, 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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * L'enregistrement cible donné \[\<tableName\> \<targetTableSysId\>\] n'existe pas. : l'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 : \<sys_id\> * Il n'existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : \<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. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_eln_fwk_l4b} 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. {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 9. Renvoie]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b}  
L'exemple suivant montre comment remplir les champs et aplatir un fichier 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 -- fillFieldsAndMergeSignature(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, PdfMergeSignRequestor requestor, Object flatten) {#ariaid-title7}

remplit les champs d'un PDF modifiable, ajoute l'image de signature, aplatit les champs de données et les joint à l'enregistrement fourni.
Utilisez les méthodes suivantes pour déterminer si le fichier PDF peut être rempli et obtenir des informations de champ :

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-isDocumentFillable_S "Vérifie si le document PDF contient des champs modifiables.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFields_S "Obtient une liste de champs modifiables dans un document PDF. Active la liste des champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFieldsType_S "Obtient le type de champ de l’ensemble de champs modifiables à partir d’un document PDF.")
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocumentFields_O_S_S_S_S "remplit les champs d’un PDF modifiable et le joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable et le joint à l'enregistrement fourni.
* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocFieldsFlatten_O_S_S_S_S_O "remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable, aplatit les champs de données et les joint à l'enregistrement fourni.
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getFilDocWithSigAsBase64_O_S_O_O "remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.") -- remplit les champs d'un PDF modifiable, crée une image et la convertit en PDF codé en base64.
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_lyz_lft_l4b}
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b__entry__3}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ph_api_pdfgen_parm_attIDesc}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblName}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblID}

| 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 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\]. |
| Nom pdf | Chaîne | Nom à donner au PDF. Par défaut : Sys_id du fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
| demandeur | [PdfMergeSignRequestor (en anglais seulement)](https://servicenow-prod.fluidtopics.net/c6aaxHDPw5kjgTrnSUDK_g#PdfMergeSignRequestorBothAPI "L’API PdfMergeSignRequestor fournit des méthodes pour ajouter une image représentant une signature à un document PDF.") | 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 : n'aplatissez aucun champ. * partially_flatten : aplatit uniquement les champs qui sont modifiés. * fully_flatten : aplatit tous les champs. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_mwn_5wc_k4b} Par défaut : fully_flatten { "FlattenType": "String" } |
[Tableau 10. Paramètres]

{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b} {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_anm_5hk_34b__entry__2}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc-fill-only}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc_pdfgen_ret_attID_Fill}

| Type | Description |
|-|-|
| Objet | Objet contenant sys_id de la pièce jointe PDF mise à jour en cas de succès, 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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * L'enregistrement cible donné \[\<tableName\> \<targetTableSysId\>\] n'existe pas. : l'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 : \<sys_id\> * Il n'existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : \<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. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_eln_fwk_l4b} 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. {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 11. Renvoie]

{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_anm_5hk_34b}  
L'exemple suivant montre comment remplir des champs avec une 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) {#ariaid-title8}

Obtient une liste de champs modifiables dans un document PDF. Active la liste des champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.
{#P-getDocumentFields_S__table_hmj_q5j_34b__entry__3}{#P-getDocumentFields_S__ph_api_pdfgen_parm_attIDesc}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id d'un fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
[Tableau 12. Paramètres]

{#P-getDocumentFields_S__table_hmj_q5j_34b} {#P-getDocumentFields_S__table_v1y_g3k_34b__entry__2}

| 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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * 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. {#P-getDocumentFields_S__ul_qlv_5cv_j4b} 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. {#P-getDocumentFields_S__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 13. Renvoie]

{#P-getDocumentFields_S__table_v1y_g3k_34b}  
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) {#ariaid-title9}

Obtient le type de champ de l'ensemble de champs modifiables à partir d'un document PDF.
{#P-getDocumentFieldsType_S__table_hmj_q5j_34b__entry__3}{#P-getDocumentFieldsType_S__ph_api_pdfgen_parm_attIDesc}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id d'un fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
[Tableau 14. Paramètres]

{#P-getDocumentFieldsType_S__table_hmj_q5j_34b} {#P-getDocumentFieldsType_S__table_jxx_whk_34b__entry__2}{#P-getDocumentFieldsType_S__api_pdfgen_ret_msg}

| 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.\<champ\> | Objet contenant le numéro de page de chaque champ. Le nom \<field\> représente l'étiquette du 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.\<field\>.fieldsDetails | Liste des objets contenant le nom de champ et la valeur correspondante de chaque option pour les types de champs de choix. Types applicables : * Case à cocher * Boîte de choix * Déroulante * Zone de choix à sélection multiple Type de données : tableau "fieldsDetails": [ "fieldName": "String", "value": "String" ] |
| \<Object\>.fields_type.\<field\>.fieldsDetails.fieldName | Nom d'un champ de choix. Type de données : chaîne |
| \<Object\>.fields_type.\<field\>.fieldsDetails.value | Valeur d'un champ de choix. Type de données : chaîne |
| \<Object\>.fields_type.\<field\>.pageNumber | Numéro de page PDF correspondant à ce champ. Type de données : chaîne |
| \<Object\>.fields_type.\<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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} * 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.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} * 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.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} * Demande terminée avec succès : l'opération est réussie.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} * Non défini : Sys_id fourni n'existe pas ou n'est pas une pièce jointe PDF.{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__ul_qlv_5cv_j4b} 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. {#P-getDocumentFieldsType_S__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 15. Renvoie]

{#P-getDocumentFieldsType_S__table_jxx_whk_34b}  
L'exemple suivant montre comment récupérer des types de champ dans une pièce jointe PDF. Les résultats comprennent des retours manuels pour des raisons de lisibilité et sont tronqués par souci 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) {#ariaid-title10}

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 générer un fichier 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 fichier PDF peut être rempli et obtenir des informations de champ :

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-isDocumentFillable_S "Vérifie si le document PDF contient des champs modifiables.")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFields_S "Obtient une liste de champs modifiables dans un document PDF. Active la liste des champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-getDocumentFieldsType_S "Obtient le type de champ de l’ensemble de champs modifiables à partir d’un document PDF.")
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI fournit des méthodes de remplissage supplémentaires avec différentes options :

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocumentFields_O_S_S_S_S "remplit les champs d’un PDF modifiable et le joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable et le joint à l'enregistrement fourni.
* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillDocFieldsFlatten_O_S_S_S_S_O "remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable, aplatit les champs de données et les joint à l'enregistrement fourni.
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/q_fpr42fLYukVHSh6kG_2A#P-fillFieldsMergeSig_O_S_S_S_S_O_O "remplit les champs d’un PDF modifiable, ajoute l’image de signature, aplatit les champs de données et les joint à l’enregistrement fourni.") -- remplit les champs d'un PDF modifiable, ajoute l'image de signature, aplatit les champs de données et les joint à l'enregistrement fourni.
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_lyz_lft_l4b}
{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b__entry__3}{#P-getFilDocWithSigAsBase64_O_S_O_O__ph_api_pdfgen_parm_attIDesc}

| 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)](https://servicenow-prod.fluidtopics.net/c6aaxHDPw5kjgTrnSUDK_g#PdfMergeSignRequestorBothAPI "L’API PdfMergeSignRequestor fournit des méthodes pour ajouter une image représentant une signature à un document PDF.") | 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 : n'aplatissez aucun champ. * partially_flatten : aplatit uniquement les champs qui sont modifiés. * fully_flatten : aplatit tous les champs. {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_mwn_5wc_k4b} Par défaut : fully_flatten { "FlattenType": "String" } |
[Tableau 16. Paramètres]

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b} {#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b__entry__2}

| 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 remplie. Les champs ne sont pas modifiables, sauf si une autre option d'aplatissement a é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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * L'enregistrement cible donné \[\<tableName\> \<targetTableSysId\>\] n'existe pas. : l'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 : \<sys_id\> * Il n'existe aucun champ modifiable avec des noms spécifiés. Veuillez vérifier et réessayer. Noms de champs : \<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. {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_eln_fwk_l4b} 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. {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 17. Renvoie]

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b}  
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) {#ariaid-title11}

Obtient la taille de page d'un document PDF.
{#P-getPdfPageSizes_S__table_hmj_q5j_34b__entry__3}{#P-getPdfPageSizes_S__ph_api_pdfgen_parm_attIDesc}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id d'un fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
[Tableau 18. Paramètres]

{#P-getPdfPageSizes_S__table_hmj_q5j_34b} {#P-getPdfPageSizes_S__table_v1y_g3k_34b__entry__2}{#P-getPdfPageSizes_S__api_pdfgen_ret_msg}

| Type | Description |
|-|-|
| Objet | Objet contenant la taille de chaque page en cas de succès, 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. {#P-getPdfPageSizes_S__ul_qlv_5cv_j4b} 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. {#P-getPdfPageSizes_S__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 19. Renvoie]

{#P-getPdfPageSizes_S__table_v1y_g3k_34b}  
L'exemple suivant montre comment afficher la largeur et la hauteur de chaque page d'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) {#ariaid-title12}

Vérifie si le document PDF contient des champs modifiables.
{#P-isDocumentFillable_S__table_drx_h3k_34b__entry__3}{#P-isDocumentFillable_S__ph_api_pdfgen_parm_attIDesc}

| Nom | Type | Description |
|-|-|-|
| sysId | Chaîne | Sys_id d'un fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
[Tableau 20. Paramètres]

{#P-isDocumentFillable_S__table_drx_h3k_34b} {#P-isDocumentFillable_S__table_erx_h3k_34b__entry__2}{#P-isDocumentFillable_S__api_pdfgen_ret_msg}

| Type | Description |
|-|-|
| Objet | Objet contenant la taille de chaque page en cas de succès, 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 : * vrai : le document PDF comporte des champs modifiables. * faux : le document PDF n'a pas de champs modifiables. {#P-isDocumentFillable_S__ul_h4w_sbd_k4b} 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 fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} * 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.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} * 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.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} * Demande terminée avec succès : l'opération est réussie.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} * Non défini : Sys_id fourni n'existe pas ou n'est pas une pièce jointe PDF.{#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__ul_qlv_5cv_j4b} 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. {#P-isDocumentFillable_S__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 21. Renvoie]

{#P-isDocumentFillable_S__table_erx_h3k_34b}  
L'exemple suivant montre comment déterminer si les champs de 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 -- redact(Object inputJson) {#ariaid-title13}

Applique un caviardage à un document PDF en fonction des coordonnées du rectangle, des mots-clés de recherche ou des deux. Une copie expurgée du PDF d'origine est générée dans la table Pièces jointes \[sys_attachment\].
Remarque :  
* Les résultats de rédaction peuvent inclure un bloc de texte biffé blanc inattendu qui écrase le texte qui n'est pas destiné à être biffé. Si cet événement se produit, vous pouvez sélectionner manuellement le contenu à biffer à l'aide de la highlightedSections propriété ou du module d'extension PDF Generation Utilities. Pour plus d'informations, consultez [Redact data from documents](https://www.servicenow.com/docs/access?context=redact-sensitive-data&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US).
* Cette méthode ne prend pas en charge la rédaction dans les PDF contenant des images JBIG2.
{#P-redact_O__ul_ulb_2dx_qbc}
{#P-redact_O__table_drx_h3k_34b__entry__3}{#P-redact_O__ph_api_pdfgen_parm_attIDesc}

| Nom | Type | Description |
|-|-|-|
| inputJson | Objet | Identifie le PDF et son contenu à biffer. { "sysId": "String", "highlightedSections": [Array], "searchedKeywords": [Array] } |
| inputJson.sysId | Chaîne | Sys_id d'un fichier PDF dans la table Pièces jointes \[sys_attachment\]. |
| inputJson. highlightedSections | Tableau d'objets | Liste des coordonnées de rectangles fournies en tant qu'objet. Chaque coordonnée représente l'emplacement du contenu à biffer sur chaque page. Facultatif si la searchedKeywords propriété est incluse. [ { "pageNumber": Number, "x": Number, "y": Number, "width": Number, "height": Number } ] |
| inputJson. highlightedSections. Numéro de page | Numéro | Numéro de page PDF contenant le contenu à sélectionner pour la biffure. |
| inputJson. highlightedSections. x | Numéro | L'axe X (position horizontale) du rectangle de rédaction sur le PDF en points. La valeur dans le coin inférieur gauche de la page PDF est 0. Par exemple, une valeur de <kbd class="ph userinput">306</kbd> place le rectangle approximativement au centre horizontal d'une page PDF au format lettre. |
| inputJson. highlightedSections. y | Numéro | L'axe Y (position verticale) du rectangle de rédaction sur le PDF en points. La valeur dans le coin inférieur gauche de la page PDF est 0. Par exemple, une valeur de <kbd class="ph userinput">396</kbd> place le rectangle approximativement au centre vertical d'une page PDF au format lettre. |
| inputJson. highlightedSections. Largeur | Numéro | La largeur du rectangle de rédaction est en points. Cette valeur augmente la taille du rectangle horizontalement à partir du point inférieur gauche où les axes x et y se coupent. |
| inputJson. highlightedSections. hauteur | Numéro | Hauteur du rectangle de rédaction en points. Cette valeur augmente la taille du rectangle verticalement à partir du point inférieur gauche à l'intersection des axes x et y. |
| inputJson. mots-clés recherchés | Tableau | Liste d'une ou plusieurs chaînes utilisées pour trouver du texte à biffer. La taille du rectangle de rédaction correspond à la hauteur et à la largeur du texte qui est ainsi bloqué. Facultatif si la highlightedSections propriété est incluse. Remarque : Dans certains cas, les chaînes de texte contenant des caractères spéciaux ou des signes de ponctuation tels que `<< items : >>` et `<< PDF. >>` ne sont pas biffées. Vous pouvez également supprimer le caractère de la chaîne ou mettre en surbrillance la zone pour supprimer le texte. |
[Tableau 22. Paramètres]

{#P-redact_O__table_drx_h3k_34b} {#P-redact_O__table_phl_lzj_34b__entry__2}{#P-redact_O__desc-fill-only}{#P-redact_O__desc_pdfgen_ret_attID_Fill}

| Type | Description |
|-|-|
| Objet | Objet contenant sys_id de la pièce jointe PDF mise à jour en cas de succès, 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 possibles : * Impossible d'analyser ce format : impossible de traiter une image incorporée dans le PDF. Le PDF contient une ou plusieurs images dans un format non pris en charge, tel qu'une image JBIG2. * Exception lors de la lecture du contenu du document source. En-tête PDF introuvable. -- La pièce jointe fournie n'est pas un PDF valide. Fournissez la pièce jointe correcte sys_id. * 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. {#P-redact_O__ul_eln_fwk_l4b} 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. {#P-redact_O__ul_rlv_5cv_j4b} Type de données : chaîne |
[Tableau 23. Renvoie]

{#P-redact_O__table_phl_lzj_34b}  
L'exemple suivant montre comment biffer par rectangle et mot clé. Sur le PDF caviardé, les zones sélectionnées à la page 2 sont bloquées. La chaîne '23' est expurgée sur n'importe quelle page sur laquelle elle se trouve.

    var pdfRequest = {
      sysId: 'e4b3ae35fc128210f877789781ea59f3',
      highlightedSections: [
        {
          "pageNumber": 2,
          "x": 261.75,
          "y": 480,
          "width": 21,
          "height": 14.25
        },
        {
          "pageNumber": 2,
          "x": 249,
          "y": 390.75,
          "width": 63.75,
          "height": 15.75
        }
        // Add more coordinates as needed
      ],
      searchedKeywords: ['23']
    };

    // Convert the JSON object to a string
    var jsonRequest = JSON.stringify(pdfRequest);
    gs.info('JSON Request: ' + jsonRequest + '\n');

    var PDFRedaction = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = PDFRedaction.redact(jsonRequest);
    gs.info(JSON.stringify(result));

Sortie :

    JSON Request: {"sysId":"e4b3ae35fc128210f877789781ea59f3","highlightedSections":[{"pageNumber":2,"x":261.75,"y":480,"width":21,"height":14.25},{"pageNumber":2,"x":249,"y":390.75,"width":63.75,"height":15.75}],"searchedKeywords":[23]}

    {"attachment_id":"1744ae35fc128210f877789781ea59fc","message":"Request completed successfully.","status":"success"}


