Document : dans le champ d’application, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 10 minutes de lecture
  • 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.

    Cette API s’appuie sur une suite de classes pour construire les différents éléments composant un PDF.
    • CelluleCrée un objet Cell sous forme de cellule dans une table. Vous pouvez utiliser cette API pour formater la cellule et inclure des blocs supplémentaires, tels que des paragraphes et des images.
    • CouleurCrée un objet Couleur utilisé pour définir des attributs de couleur que vous pouvez appliquer aux éléments d’un PDF. tels que les cellules, les tableaux et les lignes.
    • L’imageCrée un objet Image représentant une image et son insertion de mise en page dans un PDF. Permet de définir des attributs tels que l’échelle, l’alignement et la couleur des bordures.
    • Graphique linéaireCrée un objet Ligne à l’aide de méthodes pour tracer une ligne dans un PDF.
    • ParagrapheCrée un objet Paragraphe représentant un bloc de texte dans un PDF.
    • PdfPage – (en anglais seulement ) Crée un objet PdfPage représentant une page PDF et ses attributs ; tels que la taille, la largeur et la couleur.
    • Le styleCrée un style pour définir des propriétés telles que la taille de police, la bordure et l’alignement. Vous pouvez appliquer le même style à plusieurs objets simultanément.
    • TableauCré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 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 la 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 la table Pièces jointes [sys_attachment].

    Exemple de PDF avec sortie sous forme de tableau à 2 colonnes répertoriant les numéros d’incidents et les descriptions.

    Document : document(PdfPagepageSize)

    Instancie un objet Document et génère un document PDF.

    Tableau 1. Paramètres
    Nom Type Description
    pageSize Page PDF Taille de page PDF.
    Tableau 2. Renvoie
    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.

    Méthodes supplémentaires pour ajouter une nouvelle page dans un document :
    • addNewPage()Ajoute une nouvelle page blanche au document. Utilisez cette fonction pour forcer un saut de page au début d’un nouveau chapitre ou d’une nouvelle section de votre document.
    • addNewPageAtIndex()Ajoute une nouvelle page à l’index spécifié du document. Par exemple, si vous définissez l’index sur 6, vous insérez une page six ou la page à la position de la page six existante dans un document. La page six d’origine devient la page sept.
    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Aucun

    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(String author)

    Ajoute un nom au champ Auteur dans les propriétés du document PDF.

    Tableau 5. Paramètres
    Nom Type Description
    auteur Chaîne Nom de l’auteur du document.
    Tableau 6. Renvoie
    Type Description
    Aucun

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

    Ajouter une image à un document.

    Tableau 7. Paramètres
    Nom Type Description
    image Image Image à ajouter à un document.
    Tableau 8. Renvoie
    Type Description
    Aucun

    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.

    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    Aucun

    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 blanche au document. Utilisez cette fonction pour forcer un saut de page au début d’un nouveau chapitre ou d’une nouvelle section de votre document.

    Méthodes supplémentaires pour ajouter une nouvelle page dans un 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, si vous définissez l’index sur 6, vous insérez une page six ou la page à la position de la page six existante dans un document. La page six d’origine devient la page sept.
    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment ajouter une nouvelle page blanche à 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, si vous définissez l’index sur 6, vous insérez une page six ou la page à la position de la page six existante dans un document. La page six d’origine devient la page sept.

    Méthodes supplémentaires pour ajouter une nouvelle page dans un document :
    • addAndStartNewPage()Ajoute une page au document en terminant la page actuelle et en en créant une nouvelle.
    • addNewPage()Ajoute une nouvelle page blanche au document. Utilisez cette fonction pour forcer un saut de page au début d’un nouveau chapitre ou d’une nouvelle section de votre document.
    Tableau 13. Paramètres
    Nom Type Description
    Index Numéro Position à laquelle insérer une nouvelle page.
    Tableau 14. Renvoie
    Type Description
    Aucun

    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)

    Ajouter un paragraphe à un document.

    Tableau 15. Paramètres
    Nom Type Description
    paragraphe Paragraphe Bloc de texte fourni en tant qu’objet de paragraphe.
    Tableau 16. Renvoie
    Type Description
    Aucun

    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.

    Tableau 17. Paramètres
    Nom Type Description
    table Table Table à insérer dans le document.
    Tableau 18. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment ajouter un tableau à un document. Voir 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.

    Tableau 19. Paramètres
    Nom Type Description
    Aucun
    Tableau 20. Renvoie
    Type Description
    Aucun

    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(PdfPage, pageSize)

    Crée un document avec la taille de page spécifiée.

    Tableau 21. Paramètres
    Nom Type Description
    pageSize Page PDF Taille de la page du document.
    Tableau 22. Renvoie
    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.

    Tableau 23. Paramètres
    Nom Type Description
    Aucun
    Tableau 24. Renvoie
    Type Description
    Numéro Nombre de pages du 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.

    Tableau 25. Paramètres
    Nom Type Description
    Aucun
    Tableau 26. Renvoie
    Type Description
    Chaîne Valeur de la taille de page par défaut définie à l’aide de l’API PdfPage .
    Valeurs possibles :
    • A4 – 595 x 842 points
    • EXÉCUTIF – 522 x 756 points
    • LETTRE – 612 x 792 points
    • GRAND LIVRE – 792 x 1224 points

    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.

    Tableau 27. Paramètres
    Nom Type Description
    Aucun
    Tableau 28. Renvoie
    Type Description
    Aucun Marqueur indiquant si un document est ouvert ou fermé.
    Valeurs valides :
    • vrai : le document est fermé.
    • faux : le document est ouvert.

    Valeur 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.

    Tableau 29. Paramètres
    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.
    Tableau 30. Renvoie
    Type Description
    Chaîne Sys_id du document joint dans le tableau 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 du texte de base à partir duquel réorganiser en fonction de la reconnaissance de caractères

    Tableau 31. Paramètres
    Nom Type Description
    direction Chaîne Direction du flux de texte.
    Valeurs valides :
    • LEFT_TO_RIGHT : Flux de texte d’ordre de gauche à droite. La direction du texte n’est réorganisée que si des caractères de gauche à droite sont détectés.
    • RIGHT_TO_LEFT : Classer le flux de texte de droite à gauche. La direction du texte n’est réorganisée que si des caractères de droite à gauche sont détectés.

    Par défaut : LEFT_TO_RIGHT

    Tableau 32. Renvoie
    Type Description
    Aucun

    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 dimensions des marges de page dans le document.

    Tableau 33. Paramètres
    Nom Type Description
    Marge supérieure Numéro Hauteur de la marge supérieure en points.
    Marge droite Numéro Largeur de la marge de droite en points.
    Marge inférieure Numéro Hauteur de la marge inférieure en points.
    Marge gauche Numéro Largeur de la marge de gauche en points.
    Tableau 34. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment définir les marges 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);
    
    document.setMargins(72,36,36,36);