PDFGenerationAPI - Inclus, global
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.
- 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)
- PDFGenerationAPI – convertToPDFWithHeaderFooter(String html, String targetTable, String targetTableSysId, String pdfName, Object headerFooterInfo, String fontFamilySysId, Object documentConfiguration)
- Renseigner les champs d’un PDF
- PDFGenerationAPI – fillDocumentFieldsAndFlatten(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, Object flatten)
- PDFGenerationAPI – fillDocumentFields(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName)
- PDFGenerationAPI – isDocumentFillable(String sysId)
- Signer un PDF
- PDFGenerationAPI – fillFieldsAndMergeSignature(Object fieldsMap, String sysId, String tableName, String tableSysId, String pdfName, PdfMergeSignRequestor requestor, Object flatten)
- PDFGenerationAPI – getFilledDocumentWithSignatureAsBase64(Object fieldsMap, String sysId, PdfMergeSignRequestor requestor, Object flatten)
- 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)
- Récupérer les données de champ et de taille de page PDF
- Caviarder l’information dans un PDF – PDFGenerationAPI – redact(Object inputJson)
PDFGenerationAPI – PDFGenerationAPI()
Instancie un nouvel objet PDFGenerationAPI .
| Nom | Type | Description |
|---|---|---|
| Aucun |
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)
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().
| 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. |
| 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 |
| 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. |
| <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 :
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 :
Type de données : chaîne |
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)
Convertit une chaîne HTML en PDF avec contenu d’en-tête et de pied de page.
- Informations sur l’en-tête et le pied de page
- Tailles des marges
- Orientation
- Énumération
- Taille de page
| 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. |
| headerFooterInfo.FooterImageAlignment | Chaîne | Définit la position de l’image dans le pied de page. Valeurs valides :
|
| 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 :
|
| headerFooterInfo.GeneratePageNumber (en anglais seulement) | Chaîne | Marqueur indiquant s’il faut générer un numéro de page PDF. Valeurs valides :
Valeur par défaut : true |
| headerFooterInfo.HeaderImageAlignment | Chaîne | Définit la position de l’image dans l’en-tête. Valeurs valides :
|
| 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 :
Par défaut : Portrait |
| headerFooterInfo.Pagesize | Chaîne | Taille de la page du document. Valeurs valides :
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. |
| 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 |
| 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. |
| <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 :
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 :
Type de données : chaîne |
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)
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 les joint à l’enregistrement fourni.
- getFilledDocumentWithSignatureAsBase64() – remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.
| 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]. |
| 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. |
| <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 :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
Type de données : chaîne |
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)
remplit les champs d’un PDF modifiable, aplatit les champs de données et les joint à l’enregistrement fourni.
- fillDocumentFields() – remplit les champs d’un PDF modifiable et le joint à l’enregistrement fourni.
- fillFieldsAndMergeSignature() – 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() – remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.
| 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 :
Par défaut : fully_flatten |
| 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. |
| <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 :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
Type de données : chaîne |
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)
remplit les champs d’un PDF modifiable, ajoute l’image de signature, aplatit les champs de données et les joint à l’enregistrement fourni.
- 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.
- getFilledDocumentWithSignatureAsBase64() – remplit les champs d’un PDF modifiable, crée une image et la convertit en PDF codé en base64.
| 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) | 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 :
Par défaut : fully_flatten |
| 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. |
| <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 :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
Type de données : chaîne |
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));
{"attachment_id":"5440d993dbed3010d66be1191396194e","message":"Request completed successfully.","status":"success"}PDFGenerationAPI – getDocumentFields(String sysId)
Obtient une liste de champs modifiables dans un document PDF. Active la liste des champs PDF modifiables sans ouvrir manuellement le fichier à vérifier.
| Nom | Type | Description |
|---|---|---|
| sysId | Chaîne | Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment]. |
| Type | Description |
|---|---|
| Objet | Objet contenant l’ID du PDF signé, message d’erreur dans le cas contraire. |
| <Object>.champs | Si la demande aboutit, liste contenant le nom de chaque champ dans le PDF. Type de données : tableau de chaînes |
| <Object>.Message | Message confirmant la réussite ou l’erreur. Valeurs possibles :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
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.
| Nom | Type | Description |
|---|---|---|
| sysId | Chaîne | Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment]. |
| Type | Description |
|---|---|
| Objet | Objet contenant chaque type de champ PDF en cas de réussite, message d’erreur dans le cas contraire. |
| <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 |
| <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 |
| <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 :
Type de données : tableau |
| <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 :
Type de données : chaîne |
| <Object>.Message | Message confirmant la réussite ou l’erreur. Valeurs possibles :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
Type de données : chaîne |
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)
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.
- 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 les joint à l’enregistrement fourni.
| 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 :
Par défaut : fully_flatten |
| 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 :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
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.
| Nom | Type | Description |
|---|---|---|
| sysId | Chaîne | Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment]. |
| Type | Description |
|---|---|
| Objet | Objet contenant la taille de chaque page en cas de succès, message d’erreur dans le cas contraire. |
| <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 |
| <Object>.Message | Message confirmant la réussite ou l’erreur. Valeurs possibles :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
Type de données : chaîne |
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)
Vérifie si le document PDF contient des champs modifiables.
| Nom | Type | Description |
|---|---|---|
| sysId | Chaîne | Sys_id d’un fichier PDF dans la table Pièces jointes [sys_attachment]. |
| Type | Description |
|---|---|
| Objet | Objet contenant la taille de chaque page en cas de succès, message d’erreur dans le cas contraire. |
| <Object>.document_editable | Si l’opération réussit, marqueur indiquant si le document est modifiable. Valeurs valides :
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 :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
Type de données : chaîne |
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)
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].
- 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.
- Cette méthode ne prend pas en charge la rédaction dans les PDF contenant des images JBIG2.
| Nom | Type | Description |
|---|---|---|
| inputJson | Objet | Identifie le PDF et son contenu à biffer. |
| 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. |
| 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 306 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 396 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. |
| 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. |
| <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 :
Type de données : chaîne |
| <Object>.statut | État indiquant si l’opération a réussi. Valeurs possibles :
Type de données : chaîne |
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"}