Document : Inclus dans le champ d’application, Global
L’API Document fournit des méthodes pour initialiser un PDF, ajouter du contenu et fermer le PDF. Après avoir ajouté du contenu, le document peut être joint à un enregistrement cible.
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.
- Cellulaire – Crée un objet cellule en tant que cellule dans un tableau. Vous pouvez utiliser cette API pour mettre en forme la cellule et inclure des blocs supplémentaires, tels que des paragraphes et des images.
- Couleur – Crée un objet Couleur utilisé pour définir des attributs de couleur que vous pouvez appliquer aux éléments d’un PDF ; telles que les cellules, les tables et les lignes.
- Image – Crée un objet Image représentant une image et sa mise en page est insérée dans un PDF. Active la définition d’attributs tels que l’échelle, l’alignement et la couleur de la bordure.
- Ligne – Crée un objet Ligne à l’aide de méthodes pour tracer une ligne dans un PDF.
- Paragraphe – Crée un objet Paragraphe représentant un bloc de texte dans un PDF.
- PdfPage – Crée un objet PdfPage représentant une page PDF et ses attributs ; comme la taille, la largeur et la couleur.
- Style – Crée un style pour définir des propriétés telles que la taille de la police, la bordure et l’alignement. Vous pouvez appliquer le même style à plusieurs objets simultanément.
- Tableau – Crée un objet Table à ajouter à un document PDF. Définit les données à utiliser dans chaque cellule et définit les styles, les marges et l’alignement.
L’exemple suivant montre comment créer un fichier PDF de base à l’aide de l’API Document et de plusieurs composants, tels qu’un tableau, une cellule et un paragraphe. Le résultat est une liste d’incidents de la table Incident [incident] répertoriée dans un PDF. Vous pouvez tester cet exemple dans votre instance si vous remplacez <sys_id> par le sys_id d’un enregistrement d’incident.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var whiteColor = sn_pdfgeneratorutils.Color([1,1,1]);
var greyColor = sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
// Query the Incident table
var gr = new GlideRecord("incident");
gr.query();
// declare table by providing width array and Boolean for large table
var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
var headerStyle = new sn_pdfgeneratorutils.Style;
headerStyle.setBackgroundColor(headerBgColor);
headerStyle.setTextAlignment("text-center");
headerStyle.setBold();
headerStyle.setFontColor(whiteColor);
table.setHeaderStyle(headerStyle);
var nParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
var sParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
var hdrCell1 = new sn_pdfgeneratorutils.Cell;
var hdrCell2 = new sn_pdfgeneratorutils.Cell;
hdrCell1.addParagraph(nParagraph);
hdrCell2.addParagraph(sParagraph);
table.addHeaderCell(hdrCell1);
table.addHeaderCell(hdrCell2);
var row = 0;
while(gr.next()) {
var numCell = new sn_pdfgeneratorutils.Cell;
var sdCell = new sn_pdfgeneratorutils.Cell;
var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
numCell.addParagraph(numberParagraph);
sdCell.addParagraph(sdParagraph);
if (row % 2 == 1) {
table.setDefaultbackGroundColor(greyColor);
} else {
table.setDefaultbackGroundColor(whiteColor);
}
table.addCell(numCell);
table.addCell(sdCell);
row = row + 1;
}
document.addTable(table);
document.saveAsAttachment("incident", "<sys_id>", "SampleGenerationTest.pdf");
La pièce jointe PDF est répertoriée dans le tableau Pièces jointes [sys_attachment].
Document : Document(PdfPageSize)
Instancie un objet Document et génère un document PDF.
| Nom | Type | Description |
|---|---|---|
| pageSize | Page PDF | Taille de page PDF. |
| Type | Description |
|---|---|
| Objet | Document PDF. |
L’exemple suivant montre comment créer un objet Document et renvoyer un PDF.
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document(pageSize);
Document : addAndStartNewPage()
Ajoute une page au document en terminant la page actuelle et en en créant une nouvelle.
- addNewPage() – Ajoute une nouvelle page vierge au document. Utilisez cette option pour forcer un saut de page au début d’un nouveau chapitre ou d’une nouvelle section dans votre document.
- addNewPageAtIndex() – Ajoute une nouvelle page à l’index spécifié du document. Par exemple, définir l’index sur 6 insère une page six ou insère la page à la position de la page six existante dans un document. La page six originale devient la page sept.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter une nouvelle page à un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var para1 = new sn_pdfgeneratorutils.Paragraph("This text lands on the first page.");
var para2 = new sn_pdfgeneratorutils.Paragraph("This text lands on the new page.");
document.addParagraph(para1);
document.addAndStartNewPage();
document.addParagraph(para2);
// save pdf as attachment to target record in the Incident table
document.saveAsAttachment("incident", "<record_sys_id>", "newPage.pdf");
Document : addAuthor(auteur de chaîne)
Ajoute un nom au champ Auteur dans les propriétés du document PDF.
| Nom | Type | Description |
|---|---|---|
| auteur | Chaîne | Nom de l’auteur du document. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter un nom au champ Auteur dans les propriétés d’un document PDF. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var author = "John Do";
document.addAuthor(author);
Document : addImage(Image de l’image)
Ajoute une image à un document.
| Nom | Type | Description |
|---|---|---|
| image | Image | Image à ajouter à un document. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter une image à un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("LETTER");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// declare image using sys attachment
var image = new sn_pdfgeneratorutils.Image("<imgAttachment_sys_id>");
// add the image to the doc
document.addImage(image);
document.saveAsAttachment("incident", "<record_sys_id>", "docWithImage.pdf");
Document : addNewLine()
Ajoute une nouvelle ligne vide au document.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter une nouvelle ligne à un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.addNewLine();
Document : addNewPage()
Ajoute une nouvelle page vierge au document. Utilisez cette option pour forcer un saut de page au début d’un nouveau chapitre ou d’une nouvelle section dans votre document.
- addAndStartNewPage()– Ajoute une page au document en terminant la page actuelle et en en créant une nouvelle.
- addNewPageAtIndex() – Ajoute une nouvelle page à l’index spécifié du document. Par exemple, définir l’index sur 6 insère une page six ou insère la page à la position de la page six existante dans un document. La page six originale devient la page sept.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter une nouvelle page vierge à un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
Usage:
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.addNewPage();
Document : addNewPageAtIndex(index numérique)
Ajoute une nouvelle page à l’index spécifié du document. Par exemple, définir l’index sur 6 insère une page six ou insère la page à la position de la page six existante dans un document. La page six originale devient la page sept.
- addAndStartNewPage()– Ajoute une page au document en terminant la page actuelle et en en créant une nouvelle.
- addNewPage() – Ajoute une nouvelle page vierge au document. Utilisez cette option pour forcer un saut de page au début d’un nouveau chapitre ou d’une nouvelle section dans votre document.
| Nom | Type | Description |
|---|---|---|
| Index | Numéro | Position à laquelle insérer une nouvelle page. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter une nouvelle page PDF à la position 6 d’un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var index = 6;
document.addNewPageAtIndex(index);
Document : addParagraph(Paragraphe paragraphe)
Ajoute un paragraphe à un document.
| Nom | Type | Description |
|---|---|---|
| paragraphe | Paragraphe | Bloc de texte fourni en tant qu’objet de paragraphe. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter un paragraphe à un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var para = "Lorem ipsum dolor sit amet.";
document.addParagraph(para);
Document : addTable(Table de table)
Ajoute une table à un document.
| Nom | Type | Description |
|---|---|---|
| table | Table | Table à insérer dans le document. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter une table à un document. Consultez l’API de table pour plus de détails sur la définition d’une table. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var table = new sn_pdfgeneratorutils.Table([70,200], false);
document.addTable(table);
Document – close()
Ferme un document.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment fermer un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.close();
Document – createDocument(PdfPageSize)
Crée un document avec la taille de page spécifiée.
| Nom | Type | Description |
|---|---|---|
| pageSize | Page PDF | Taille de la page du document. |
| Type | Description |
|---|---|
| Objet | Document PDF. |
L’exemple suivant montre comment créer un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
Document : getPageCount()
Obtient le nombre de pages du document.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Nombre de pages dans le document. |
L’exemple suivant montre comment obtenir le nombre de pages d’un document de neuf pages. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var count = document.getPageCount();
gs.info("The number of pages is " + count);
Sortie :
The number of pages is 9
Document – getPageSize()
Obtient la taille de page par défaut du document.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Valeur de la taille de page par défaut définie à l’aide de l’API PdfPage . Valeurs possibles :
|
L’exemple suivant montre comment obtenir la taille de page d’un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var pagesize = document.getPageSize();
Document : isClosed()
Indique si un document est fermé ou ouvert.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant | Marqueur indiquant si un document est ouvert ou fermé. Valeurs valides :
Par défaut : true |
L’exemple suivant montre comment obtenir la taille de page d’un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
var closed = document.isClosed();
Document : saveAsAttachment(String tableName, String tableSysId, String fileName)
Joint le fichier de document à la table cible spécifiée.
| Nom | Type | Description |
|---|---|---|
| tableName | Chaîne | Nom de la table à laquelle joindre le document. |
| tableSysId | Chaîne | Sys_id de l’enregistrement auquel joindre le document. |
| fileName | Chaîne | Nom du document à joindre. |
| Type | Description |
|---|---|
| Chaîne | Sys_id du document joint dans la table Pièces jointes [sys_attachment]. |
L’exemple suivant montre comment joindre un document à un enregistrement d’incident. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
// Additional document properties
document.saveAsAttachment("incident", "<record_sys_id>", "SampleDocGeneration.pdf");
Document : setBaseDirection (direction de la chaîne)
Définit le sens du flux de texte de base à réorganiser en fonction de la reconnaissance de caractères
| Nom | Type | Description |
|---|---|---|
| direction | Chaîne | Direction du flux de texte. Valeurs valides :
Par défaut : LEFT_TO_RIGHT |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment définir le flux de texte de gauche à droite. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.setBaseDirection("RIGHT_TO_LEFT");
Document : setMargins(Number topMargin, Number rightMargin, Number bottomMargin, Number leftMargin)
Définit les tailles de marge de page dans le document.
| Nom | Type | Description |
|---|---|---|
| topMargin | Numéro | Hauteur de la marge supérieure en points. |
| Marge droite | Numéro | Largeur de la marge de droite en points. |
| bottomMargin | Numéro | Hauteur de la marge inférieure en points. |
| marge gauche | Numéro | Largeur de la marge de gauche en points. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment définir les marges de page dans un document. Pour obtenir un exemple d’utilisation de document, consultez API de document .
var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
document.setMargins(72,36,36,36);