Table - Incluse dans le champ d’application, globale

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

    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 est un composant utilisé avec l’API Document pour générer un PDF.

    Construisez un objet Table à l’aide des méthodes de cette classe. Vous pouvez utiliser ces classes supplémentaires pour ajouter des cellules, des paragraphes et des styles à votre tableau :

    API de cellule
    Créez une cellule à l’aide de l’API Cell . Ensuite, ajoutez la cellule à votre tableau à l’aide de l’une des méthodes suivantes :
    • Table.addCell()
    • Table.addCellWithStyle()
    • Table.addHeaderCell()
    • Table.addImageCell()
    • Table.addParagraphCell()
    • Table.addTextCell()
    API de paragraphe
    Créez un paragraphe à l’aide de l’API Paragraph . Ajoutez le paragraphe à une cellule du tableau à l’aide de Cell.addParagraph().
    Style API
    Définissez les styles, les couleurs et les bordures à l’aide de l’API de style . Ajoutez les styles à la table à l’aide de l’une des méthodes suivantes :
    • Table.setDefaultStyle()
    • Table.setHeaderStyle()
    Vous pouvez ensuite appliquer l’objet Table à un document PDF à l’aide de la classe et de la méthode suivantes.
    API Document
    Utilisez la méthode Document.addTable() pour ajouter votre tableau à un document PDF. Vous pouvez utiliser la méthode Document.saveAsAttachment() pour joindre le document à un enregistrement.

    Table : table(Boolean ltr, Array columnWidths, Boolean largeTable)

    Instancie un nouvel objet Table avec des paramètres de direction du texte, de largeur de colonne et de mise en page.

    Tableau 1. Paramètres
    Nom Type Description
    Ltr Booléen

    Marqueur indiquant la direction du texte de la langue dans la table. Pour plus d’informations, voir W3C : Direction et langages des scripts.

    Valeurs valides :
    • true : la direction du texte s’effectue de gauche à droite.
    • faux : la direction du texte est de droite à gauche.
    columnWidths (colonnes en largeur) Tableau Nombres spécifiant la largeur de chaque colonne dans une table. Les tailles sont basées proportionnellement. Par exemple, var columnWidths = [2, 1, 1] ; est un tableau à trois colonnes dont la première colonne est deux fois plus grande que les deux autres.

    Par défaut : chaque colonne a la même largeur.

    de grande taille Booléen Marqueur indiquant si une largeur de 100 % et une mise en page fixe sont définies implicitement.
    Valeurs valides :
    • true : la table utilise 100 % de la largeur avec une mise en page fixe. Si vrai, utilisez la méthode complete() lorsque tout le contenu a été ajouté pour indiquer que la table est complète.
    • false : taille automatique de la table.

    Valeur par défaut : false

    L’exemple suivant montre comment créer un objet Table à 2 colonnes.

    var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);

    Table – addCell(cellule de cellule)

    Ajoute un élément de cellule à la table.

    Tableau 2. Paramètres
    Nom Type Description
    cellule Cellule Élément de cellule à ajouter à la table.
    Tableau 3. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer un objet Table à partir de la table Incident et ajouter un numéro et une cellule Brève description à chaque ligne.

    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 Incident
    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", "<record_sys_id>", "filename.pdf");

    Table – addCellWithStyle(Cellule de cellule, Style de style)

    Ajoute un élément de cellule avec un style appliqué au tableau.

    Tableau 4. Paramètres
    Nom Type Description
    cellule Cellule Objet de cellule à ajouter à la table.
    style Style Style à appliquer à la cellule.
    Tableau 5. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment appliquer un style à un objet Cell spécifié et enregistrer le document en tant que pièce jointe à un enregistrement.

    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 cellBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
     
    // Query Incident
    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 cellStyle = new sn_pdfgeneratorutils.Style;
    cellStyle.setBackgroundColor(cellBgColor);
    cellStyle.setTextAlignment("text-center");
    cellStyle.setBold();
    cellStyle.setFontColor(whiteColor);
     
    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.addCellWithStyle(numCell, cellStyle);
       table.addCell(sdCell);
     
       row = row + 1;
     
    }
     
    document.addTable(table);
    document.saveAsAttachment("incident", "sys_id", "filename.pdf");

    Table – addHeaderCell(cellule de cellule)

    Ajoute un objet Cell d’en-tête à la table.

    Tableau 6. Paramètres
    Nom Type Description
    cellule Cellule Cellule d’en-tête à ajouter au tableau.
    Tableau 7. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment ajouter une cellule d’en-tête à un tableau qui contient un objet Paragraphe. Pour plus d’informations sur les objets Paragraphe, consultez l’API Paragraphe.

    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 Incident
    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", "<record_sys_id>", "filename.pdf");

    Table – addImageCell(Image image)

    Ajoute une cellule contenant une image au tableau.

    Tableau 8. Paramètres
    Nom Type Description
    image Image Objet d’image à ajouter à la cellule.
    Tableau 9. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer un tableau avec deux cellules d’image et joindre le document à un enregistrement.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [70,200], false);
     
    var icon = new sn_pdfgeneratorutils.Image("<sys_id>");
    var picture = new sn_pdfgeneratorutils.Image("<sys_id>");
     
    table.addImageCell(icon);
    table.addImageCell(picture);
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – addParagraphCell(Paragraph p)

    Ajoute une cellule contenant un paragraphe au tableau.

    Tableau 10. Paramètres
    Nom Type Description
    p Paragraphe Objet de paragraphe à ajouter à la cellule.
    Tableau 11. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer un tableau avec une seule cellule contenant le contenu d’un paragraphe.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    var paragraph = new sn_pdfgeneratorutils.Paragraph("Content to add to the cell");
     
    table.addParagraphCell(paragraph);
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – addTextCell(String text)

    Ajoute une cellule contenant une chaîne au tableau.

    Tableau 12. Paramètres
    Nom Type Description
    Texte Chaîne Texte à ajouter à la cellule.
    Tableau 13. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer un tableau avec une seule cellule contenant une chaîne.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
     
    document.addTable(table);
    document.saveAsAttachment("incident", "record_sys_id", "filename.pdf");

    Table : complete()

    Indique que tout le contenu prévu a été ajouté à une table volumineuse.

    À utiliser avec la méthode Table.flush() pour ajouter du contenu supplémentaire à un tableau déjà ajouté à un document. Cette méthode s’applique uniquement lorsque le largeTable paramètre du constructeur est défini sur true.

    Tableau 14. Paramètres
    Nom Type Description
    Aucun
    Tableau 15. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment indiquer que l’ajout de contenu à une table déjà ajoutée à un document est terminé.

    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 Incident
    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, [1,2,1,1], true);
     
    var headerStyle = new sn_pdfgeneratorutils.Style;
    headerStyle.setBackgroundColor(headerBgColor);
    headerStyle.setTextAlignment("text-center");
    headerStyle.setBold();
    headerStyle.setFontColor(whiteColor);
     
    table.setHeaderStyle(headerStyle);
     
    var numberParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
    var descParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
    var stateParagraph = new sn_pdfgeneratorutils.Paragraph("State");
    var assignedParagraph = new sn_pdfgeneratorutils.Paragraph("Assigned to");
    
     
    var hdrCell1 = new sn_pdfgeneratorutils.Cell;
    var hdrCell2 = new sn_pdfgeneratorutils.Cell;
    var hdrCell3 = new sn_pdfgeneratorutils.Cell;
    var hdrCell4 = new sn_pdfgeneratorutils.Cell;
     
    hdrCell1.addParagraph(numberParagraph);
    hdrCell2.addParagraph(descParagraph);
    hdrCell3.addParagraph(stateParagraph);
    hdrCell4.addParagraph(assignedParagraph);
     
    table.addHeaderCell(hdrCell1);
    table.addHeaderCell(hdrCell2);
    table.addHeaderCell(hdrCell3);
    table.addHeaderCell(hdrCell4);
    
    var row = 0;
     
    while(gr.next()) {
       var numCell = new sn_pdfgeneratorutils.Cell;
       var sdCell = new sn_pdfgeneratorutils.Cell;
       var stateCell = new sn_pdfgeneratorutils.Cell;
       var assignedCell = new sn_pdfgeneratorutils.Cell;
    
     
       var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
       var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
       var stateParagraph = new sn_pdfgeneratorutils.Paragraph(gr.state);
       var assignedParagraph = new sn_pdfgeneratorutils.Paragraph(gr.assigned_to);
      
       numCell.addParagraph(numberParagraph);
       sdCell.addParagraph(sdParagraph);
       stateCell.addParagraph(stateParagraph);
       assignedCell.addParagraph(assignedParagraph);
    
     
       if (row % 2 == 1) {
          table.setDefaultbackGroundColor(greyColor);
       } else {
          table.setDefaultbackGroundColor(whiteColor);
       }
     
       table.addCell(numCell);
       table.addCell(sdCell);
       table.addCell(stateCell);
       table.addCell(assignedCell);
     
       row = row + 1;
     
    }
    
    document.addTable(table);
    table.addTextCell("A cell added later");
    table.flush();
    table.complete();
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table : donotSplitRowOnPageBreak(valeur booléenne)

    Dans la mesure du possible, empêche de diviser une ligne sur deux pages.

    Tableau 16. Paramètres
    Nom Type Description
    valide Booléen Marqueur indiquant s’il faut fractionner une ligne sur deux pages ou déplacer la ligne entière sur la deuxième page. Toutefois, cette propriété ne s’applique pas lorsque la ligne s’étend sur plus d’une page.
    Valeurs valides :
    • true : si la partie restante d’une page n’est pas assez grande pour la ligne, ajoute la ligne entière à une nouvelle page.
    • false : si la partie restante d’une page n’est pas assez grande pour la ligne, divise la ligne sur deux pages.

    Valeur par défaut : false

    Tableau 17. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment empêcher de diviser une ligne sur deux pages.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [25,25,25,75,400], false);
     
    table.addTextCell("Text to add to the cell");
    table.addTextCell("More text to add to the cell");
    table.addTextCell("Even more text to add to the cell");
    table.addTextCell("Even more text to add to the cell");
    table.addTextCell("Even more text to add to the cell");
    
    table.donotSplitRowOnPageBreak(true);
     
    document.addTable(table);
    document.saveAsAttachment("incident", "record_sys_id", "filename.pdf");

    Table – flush()

    Ajoute du contenu supplémentaire à un tableau qui est déjà ajouté à un document.

    À utiliser avec la méthode Table.complete() pour indiquer que vous avez ajouté tout le contenu supplémentaire à la table. Cette méthode s’applique uniquement lorsque le largeTable paramètre du constructeur est défini sur true.

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

    Cet exemple montre comment ajouter une cellule de texte à un tableau qui est déjà ajouté à un document.

    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 Incident
    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, [1,2,1,1], true);
     
    var headerStyle = new sn_pdfgeneratorutils.Style;
    headerStyle.setBackgroundColor(headerBgColor);
    headerStyle.setTextAlignment("text-center");
    headerStyle.setBold();
    headerStyle.setFontColor(whiteColor);
     
    table.setHeaderStyle(headerStyle);
     
    var numberParagraph = new sn_pdfgeneratorutils.Paragraph("Number");
    var descParagraph = new sn_pdfgeneratorutils.Paragraph("Short Description");
    var stateParagraph = new sn_pdfgeneratorutils.Paragraph("State");
    var assignedParagraph = new sn_pdfgeneratorutils.Paragraph("Assigned to");
    
     
    var hdrCell1 = new sn_pdfgeneratorutils.Cell;
    var hdrCell2 = new sn_pdfgeneratorutils.Cell;
    var hdrCell3 = new sn_pdfgeneratorutils.Cell;
    var hdrCell4 = new sn_pdfgeneratorutils.Cell;
     
    hdrCell1.addParagraph(numberParagraph);
    hdrCell2.addParagraph(descParagraph);
    hdrCell3.addParagraph(stateParagraph);
    hdrCell4.addParagraph(assignedParagraph);
     
    table.addHeaderCell(hdrCell1);
    table.addHeaderCell(hdrCell2);
    table.addHeaderCell(hdrCell3);
    table.addHeaderCell(hdrCell4);
    
    var row = 0;
     
    while(gr.next()) {
       var numCell = new sn_pdfgeneratorutils.Cell;
       var sdCell = new sn_pdfgeneratorutils.Cell;
       var stateCell = new sn_pdfgeneratorutils.Cell;
       var assignedCell = new sn_pdfgeneratorutils.Cell;
    
     
       var numberParagraph = new sn_pdfgeneratorutils.Paragraph(gr.number);
       var sdParagraph = new sn_pdfgeneratorutils.Paragraph(gr.short_description);
       var stateParagraph = new sn_pdfgeneratorutils.Paragraph(gr.state);
       var assignedParagraph = new sn_pdfgeneratorutils.Paragraph(gr.assigned_to);
      
       numCell.addParagraph(numberParagraph);
       sdCell.addParagraph(sdParagraph);
       stateCell.addParagraph(stateParagraph);
       assignedCell.addParagraph(assignedParagraph);
    
     
       if (row % 2 == 1) {
          table.setDefaultbackGroundColor(greyColor);
       } else {
          table.setDefaultbackGroundColor(whiteColor);
       }
     
       table.addCell(numCell);
       table.addCell(sdCell);
       table.addCell(stateCell);
       table.addCell(assignedCell);
     
       row = row + 1;
     
    }
    
    document.addTable(table);
    table.addTextCell("A cell added later");
    table.flush();
    table.complete();
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – getDefaultStyle()

    Renvoie le style par défaut.

    Tableau 20. Paramètres
    Nom Type Description
    Aucun
    Tableau 21. Renvoie
    Type Description
    Style Style par défaut.

    Cet exemple montre comment définir, puis renvoyer le style par défaut.

    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
    
    var style = new sn_pdfgeneratorutils.Style();
    
    style.setItalic();
    
    table.setDefaultStyle(style);
     
    table.addTextCell("Text to add to the cell");
    
    var defaultStyle = table.getDefaultStyle();
    
    gs.info(defaultStyle);

    Table – getHeaderStyle()

    Renvoie le style appliqué à l’en-tête de la table.

    Tableau 22. Paramètres
    Nom Type Description
    Aucun
    Tableau 23. Renvoie
    Type Description
    Style Style appliqué à l’en-tête du tableau.

    Cet exemple montre comment définir et renvoyer le style d’en-tête de la table.

    var table = new sn_pdfgeneratorutils.Table(true, [1,1], false);
    
    var whiteColor =  sn_pdfgeneratorutils.Color([1,1,1]);
    var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
    
    var headerStyle = new sn_pdfgeneratorutils.Style;
    headerStyle.setBackgroundColor(headerBgColor);
    headerStyle.setTextAlignment("text-center");
    headerStyle.setBold();
    headerStyle.setFontColor(whiteColor);
     
    table.setHeaderStyle(headerStyle);
    
    var hdrCell1 = new sn_pdfgeneratorutils.Cell;
    var hdrCell2 = new sn_pdfgeneratorutils.Cell;
     
    table.addHeaderCell(hdrCell1);
    table.addHeaderCell(hdrCell2);
    
    var styleObject = table.getHeaderStyle();
    
    gs.info(styleObject);

    Table – setBorder(Number width)

    Définit une bordure de largeur désignée autour des bords extérieurs du tableau.

    Tableau 24. Paramètres
    Nom Type Description
    largeur Numéro Largeur de la bordure.

    Unité : Points

    Tableau 25. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer une table avec une bordure de deux pixels et joindre la table à un enregistrement.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setBorder(2);
     
    document.addTable(table);
    "document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – setDefaultbackGroundColor(Couleur de couleur)

    Définit la couleur d’arrière-plan par défaut de la table.

    Tableau 26. Paramètres
    Nom Type Description
    couleur Couleur Objet de couleur utilisé comme couleur d’arrière-plan par défaut pour le tableau.
    Tableau 27. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment définir la couleur d’arrière-plan par défaut de la table.

    // declare table by providing width array with automatic table size
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
    
    var color = new sn_pdfgeneratorutils.Color([0.8,0.8,0.8]);
    
    table.setDefaultbackGroundColor(color);
     
    table.addTextCell("Text to add to the cell");

    Table : setDefaultStyle(Style defaultStyle)

    Définit le style par défaut à appliquer à la table.

    Tableau 28. Paramètres
    Nom Type Description
    defaultStyle Style Style par défaut à appliquer à la table.
    Tableau 29. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment appliquer un style par défaut à une table.

    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
    
    var style = new sn_pdfgeneratorutils.Style();
    
    style.setItalic();
    
    table.setDefaultStyle(style);
     
    table.addTextCell("Text to add to the cell");
    
    var defaultStyle = table.getDefaultStyle();
    
    gs.info(defaultStyle);

    Table – setFixedPosition(Numéro pageNumber, Numéro gauche, Numéro en bas, Largeur numérique)

    Définit le tableau à une position fixe sur la page.

    Tableau 30. Paramètres
    Nom Type Description
    pageNumber Numéro Numéro de la page à laquelle ajouter la table.
    Gauche Numéro Nombre de pixels à partir de la marge de gauche pour ajouter le tableau.

    Unité : Points

    bas Numéro Nombre de pixels à partir de la marge inférieure pour ajouter le tableau.

    Unité : Points

    largeur Numéro Largeur de la table.

    Unité : Points

    Tableau 31. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment repositionner le tableau dans le coin inférieur gauche de la page.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setFixedPosition(1,36,36,500);
     
    document.addTable(table);
    "document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – setHeaderStyle(Style headerStyle)

    Définit l’objet Style à appliquer à l’en-tête de la table.

    Tableau 32. Paramètres
    Nom Type Description
    headerStyle Style Objet de style à appliquer à l’en-tête de la table.
    Tableau 33. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment définir et renvoyer le style d’en-tête de la table.

    var table = new sn_pdfgeneratorutils.Table(true, [1,1], false);
    
    var whiteColor =  sn_pdfgeneratorutils.Color([1,1,1]);
    var headerBgColor = new sn_pdfgeneratorutils.Color([0.4,0.6,0.8]);
    
    var headerStyle = new sn_pdfgeneratorutils.Style;
    headerStyle.setBackgroundColor(headerBgColor);
    headerStyle.setTextAlignment("text-center");
    headerStyle.setBold();
    headerStyle.setFontColor(whiteColor);
     
    table.setHeaderStyle(headerStyle);
    
    var hdrCell1 = new sn_pdfgeneratorutils.Cell;
    var hdrCell2 = new sn_pdfgeneratorutils.Cell;
     
    table.addHeaderCell(hdrCell1);
    table.addHeaderCell(hdrCell2);
    
    var styleObject = table.getHeaderStyle();
    
    gs.info(styleObject);

    Table – setHorizontalAlignment(Alignement des chaînes)

    Définit l’alignement horizontal de la table.

    Tableau 34. Paramètres
    Nom Type Description
    alignement Chaîne Alignement de la table.
    Valeurs valides :
    • center : permet d’aligner le contenu sur le centre.
    • left : Alignez le contenu vers la gauche.
    • droite : alignez le contenu vers la droite.
    Tableau 35. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer un petit tableau aligné au centre de la page.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setWidth(90);
    table.setHorizontalAlignment("center");
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – setMargin(Marge du nombre)

    Définit toutes les marges autour du tableau à la même largeur.

    Tableau 36. Paramètres
    Nom Type Description
    marge Numéro Valeur des marges supérieure, droite, inférieure et gauche en points.
    Tableau 37. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment définir une marge pour l’ensemble de la table.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setMargin(3);
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – setMarginBottom(Marge du nombre)

    Définit la marge en bas de la page.

    Tableau 38. Paramètres
    Nom Type Description
    marge Numéro Hauteur de la marge inférieure en points.
    Tableau 39. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment définir une marge pour le bas de la page sur trois points.

    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 Incident
    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);
    
    // set the bottom margin to three points
    table.setBottomMargin(3);
     
    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", "<record_sys_id>", "filename.pdf");

    Table – setMarginLeft(Marge du nombre)

    Définit la marge sur le côté gauche de la page.

    Tableau 40. Paramètres
    Nom Type Description
    marge Numéro Largeur de la marge de gauche en points.
    Tableau 41. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment définir une marge pour le côté gauche de la page.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setMarginLeft(100);
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – setMarginRight(Marge du nombre)

    Définit la marge sur le côté droit de la page.

    Tableau 42. Paramètres
    Nom Type Description
    marge Numéro Largeur de la marge de droite en points.
    Tableau 43. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment définir une marge pour le côté gauche de la page.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setMarginRight(100);
     
    document.addTable(table);
    "document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – setMarginTop(Marge du nombre)

    Définit une marge en haut de la page.

    Tableau 44. Paramètres
    Nom Type Description
    marge Numéro Hauteur de la marge supérieure en points.
    Tableau 45. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment définir une marge en haut de la page.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setMarginTop(100);
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – setWidth(largeur du nombre)

    Définit la largeur totale de la table.

    Tableau 46. Paramètres
    Nom Type Description
    largeur Numéro Largeur de la table.

    Unité : Points

    Tableau 47. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer une table de 90 points de large et joindre le document à un enregistrement.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.setWidth(90);
    table.setHorizontalAlignment("center");
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");

    Table – useAllAvailableWidth()

    Développe le tableau pour utiliser toute la largeur disponible sur la page.

    Tableau 48. Paramètres
    Nom Type Description
    Aucun
    Tableau 49. Renvoie
    Type Description
    Aucun

    Cet exemple montre comment créer un tableau qui s’étend jusqu’à la largeur disponible sur la page.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    // declare table by providing width array and Boolean for large table
    var table = new sn_pdfgeneratorutils.Table(true, [1], false);
     
    table.addTextCell("Text to add to the cell");
    table.useAllAvailableWidth();
     
    document.addTable(table);
    document.saveAsAttachment("incident", "<record_sys_id>", "filename.pdf");