Dokument: bereichsbezogen, global

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 9 Minuten Lesedauer
  • Die Dokumenten -API bietet Methoden zum Initialisieren einer PDF-Datei, zum Hinzufügen von Inhalten und zum Schließen der PDF-Datei. Nach dem Hinzufügen von Inhalt kann das Dokument an einen Zieldatensatz angehängt werden.

    Diese API ist Teil des Plugins ServiceNow PDF Generierung Utilities (com.snc.apppdfgenerator) und wird im Namespace sn_pdfgeneratorutils bereitgestellt. Das Plugin ist standardmäßig aktiviert.

    Diese API hängt von einer Suite von Klassen ab, um verschiedene Elemente einer PDF-Datei zu erstellen.
    • ZelleErstellt ein Zellenobjekt als Zelle in einer Tabelle. Sie können diese API verwenden, um die Zelle zu formatieren und zusätzliche Blöcke wie Absätze und Bilder hinzuzufügen.
    • FarbeErstellt ein Farbobjekt, das zum Definieren von Farbattributen verwendet wird, die Sie auf Elemente in einer PDF-Datei anwenden können; wie Zellen, Tabellen und Zeilen.
    • BildErstellt ein Bildobjekt, das ein Bild und dessen Layout in einer PDF-Datei einfügt. Ermöglicht das Definieren von Attributen wie Skala, Ausrichtung und Rahmenfarbe.
    • ZeileErstellt ein Linienobjekt mithilfe von Methoden zum Zeichnen einer Linie in einer PDF-Datei.
    • AbsatzErstellt ein Absatzobjekt, das einen Textblock in einer PDF-Datei darstellt.
    • PdfPageErstellt ein PdfPage-Objekt, das eine PDF-Seite und ihre Attribute darstellt. wie Größe, Breite und Farbe.
    • StilErstellt einen Stil zum Definieren von Eigenschaften wie Schriftgröße, Rahmen und Ausrichtung. Sie können denselben Stil auf mehrere Objekte gleichzeitig anwenden.
    • TabelleErstellt ein Tabellenobjekt, das einem PDF-Dokument hinzugefügt werden soll. Definiert die in jeder Zelle zu verwendenden Daten und legt Stile, Ränder und Ausrichtung fest.

    Das folgende Beispiel zeigt, wie Sie mit der Dokument -API und mehreren Komponenten, z. B. einer Tabelle, einer Zelle und einem Absatz, eine einfache PDF-Datei erstellen. Das Ergebnis ist eine Liste von Incidents aus der Incident-Tabelle [incident], die in einer PDF-Datei aufgelistet sind. Sie können dieses Beispiel in Ihrer Instanz testen, wenn Sie ersetzen<sys_id> mit der sys_id eines Incident-Datensatzes.

    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");

    Der PDF-Anhang wird in der Tabelle „Anhänge“ [sys_attachment] aufgeführt.

    Beispiel-PDF mit Ausgabe als zweispaltige Tabelle mit Incident-Nummern und Beschreibungen.

    Dokument: Document(PdfPage pageSize)

    Instanziiert ein Dokumentobjekt und generiert ein PDF-Dokument.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    pageSize PDF-Seite PDF-Seitengröße.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Objekt PDF-Dokument.

    Das folgende Beispiel zeigt, wie Sie ein Document- Objekt erstellen und eine PDF-Datei zurückgeben.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document(pageSize);

    Dokument – addAndStartNewPage()

    Fügt dem Dokument eine Seite hinzu, indem die aktuelle Seite beendet und eine neue erstellt wird.

    Zusätzliche Methoden zum Hinzufügen einer neuen Seite in einem Dokument:
    • addNewPage()Fügt dem Dokument eine neue leere Seite hinzu. Verwenden Sie, um einen Seitenumbruch zu erzwingen und ein neues Kapitel oder einen neuen Abschnitt in Ihrem Dokument zu beginnen.
    • addNewPageAtIndex()Fügt eine neue Seite am angegebenen Index des Dokuments hinzu. Wenn Sie beispielsweise den Index auf 6 setzen, wird eine Seite sechs eingefügt oder die Seite wird an der Position der vorhandenen Seite sechs in ein Dokument eingefügt. Die ursprüngliche Seite sechs wird zu Seite sieben.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einem Dokument eine neue Seite hinzufügen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    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");

    Dokument – addAuthor(Zeichenfolgeautor)

    Fügt dem Feld „Autor“ in den PDF-Dokumenteigenschaften einen Namen hinzu.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Autor Zeichenfolge Name des Autors des Dokuments.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie dem Feld „Autor“ in den PDF-Dokumenteigenschaften ein Name hinzugefügt wird. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var author = "John Do";
    
    document.addAuthor(author);

    Dokument – addImage(Image image)

    Fügt einem Dokument ein Bild hinzu.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Bild Bild Bild, das einem Dokument hinzugefügt werden soll.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einem Dokument ein Bild hinzufügen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    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");

    Dokument – addNewLine()

    Fügt dem Dokument eine neue leere Zeile hinzu.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einem Dokument eine neue Zeile hinzufügen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.addNewLine();

    Dokument – addNewPage()

    Fügt dem Dokument eine neue leere Seite hinzu. Verwenden Sie, um einen Seitenumbruch zu erzwingen und ein neues Kapitel oder einen neuen Abschnitt in Ihrem Dokument zu beginnen.

    Zusätzliche Methoden zum Hinzufügen einer neuen Seite in einem Dokument:
    • addAndStartNewPage()Fügt dem Dokument eine Seite hinzu, indem die aktuelle Seite beendet und eine neue erstellt wird.
    • addNewPageAtIndex()Fügt eine neue Seite am angegebenen Index des Dokuments hinzu. Wenn Sie beispielsweise den Index auf 6 setzen, wird eine Seite sechs eingefügt oder die Seite wird an der Position der vorhandenen Seite sechs in ein Dokument eingefügt. Die ursprüngliche Seite sechs wird zu Seite sieben.
    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einem Dokument eine neue leere Seite hinzufügen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    Usage:
    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.addNewPage();

    Dokument – addNewPageAtIndex(Nummernindex)

    Fügt eine neue Seite am angegebenen Index des Dokuments hinzu. Wenn Sie beispielsweise den Index auf 6 setzen, wird eine Seite sechs eingefügt oder die Seite wird an der Position der vorhandenen Seite sechs in ein Dokument eingefügt. Die ursprüngliche Seite sechs wird zu Seite sieben.

    Zusätzliche Methoden zum Hinzufügen einer neuen Seite in einem Dokument:
    • addAndStartNewPage()Fügt dem Dokument eine Seite hinzu, indem die aktuelle Seite beendet und eine neue erstellt wird.
    • addNewPage()Fügt dem Dokument eine neue leere Seite hinzu. Verwenden Sie, um einen Seitenumbruch zu erzwingen und ein neues Kapitel oder einen neuen Abschnitt in Ihrem Dokument zu beginnen.
    Tabelle : 13. Parameter
    Name Typ Beschreibung
    index Nummer Position, an der eine neue Seite eingefügt werden soll.
    Tabelle : 14. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie an Position 6 eines Dokuments eine neue PDF-Seite hinzugefügt wird. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var index = 6;
    
    document.addNewPageAtIndex(index);

    Dokument – addParagraph(Absatz)

    Fügt einem Dokument einen Absatz hinzu.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Absatz Absatz Textblock, der als Absatzobjekt bereitgestellt wird.
    Tabelle : 16. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie einem Dokument ein Absatz hinzugefügt wird. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

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

    Dokument – addTable(Table table)

    Fügt einem Dokument eine Tabelle hinzu.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Tabelle Tabelle Tabelle, die in das Dokument eingefügt werden soll.
    Tabelle : 18. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einem Dokument eine Tabelle hinzufügen. Weitere Informationen zum Definieren einer Tabelle finden Sie in der Tabellen-API. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

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

    Dokument – schließen ()

    Schließt ein Dokument.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie ein Dokument geschlossen wird. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.close();

    Dokument – createDocument(PdfPage pageSize)

    Erstellt ein Dokument mit der angegebenen Seitengröße.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    pageSize PDF-Seite Seitengröße des Dokuments.
    Tabelle : 22. Rückgaben
    Typ Beschreibung
    Objekt PDF-Dokument.

    Das folgende Beispiel zeigt, wie ein Dokument erstellt wird. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);

    Dokument – getPageCount()

    Ruft die Anzahl der Seiten im Dokument ab.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 24. Ergebnisse
    Typ Beschreibung
    Nummer Anzahl der Seiten im Dokument.

    Das folgende Beispiel zeigt, wie Sie die Seitenanzahl eines Dokuments mit neun Seiten abrufen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

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

    Ausgabe:

    The number of pages is 9

    Dokument – getPageSize()

    Ruft die Standardseitengröße des Dokuments ab.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 26. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Wert der Standardseitengröße, die mit der PdfPage- API festgelegt wird.
    Mögliche Werte:
    • A4: 595 x 842 Punkte
    • EXECUTIVE: 522 x 756 Punkte
    • BRIEF – 612 x 792 Punkte
    • Hauptbuch – 792 x 1224 Punkte

    Das folgende Beispiel zeigt, wie Sie die Seitengröße eines Dokuments abrufen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
     
    var pagesize = document.getPageSize();

    Dokument – isClosed()

    Gibt an, ob ein Dokument geschlossen oder geöffnet ist.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 28. Ergebnisse
    Typ Beschreibung
    Keine Kennzeichnung, die angibt, ob ein Dokument geöffnet oder geschlossen ist
    Gültige Werte:
    • „wahr“: Dokument wird geschlossen.
    • „falsch“: Dokument ist geöffnet.

    Standardwert: wahr

    Das folgende Beispiel zeigt, wie Sie die Seitengröße eines Dokuments abrufen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    var closed = document.isClosed();

    Dokument – saveAsAttachment(String tableName, String tableSysId, String fileName)

    Hängt die Dokumentdatei an die angegebene Zieltabelle an.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle, an die das Dokument angehängt werden soll.
    tableSysId Zeichenfolge Sys_id des Datensatzes, an den das Dokument angehängt werden soll.
    fileName Zeichenfolge Name des anzuhängenden Dokuments.
    Tabelle : 30. Rückgaben
    Typ Beschreibung
    Zeichenfolge Sys_id des angehängten Dokuments in der Tabelle „Anhänge“ [sys_attachment].

    Das folgende Beispiel zeigt, wie Sie ein Dokument an einen Incident-Datensatz anhängen. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    // Additional document properties
    
    document.saveAsAttachment("incident", "<record_sys_id>", "SampleDocGeneration.pdf");

    Dokument – setBaseDirection(Zeichenfolgenrichtung)

    Legt die Flow-Richtung des Basistexts für die Neuanordnung von basierend auf der Zeichenerkennung fest

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    direction Zeichenfolge Textflussrichtung.
    Gültige Werte:
    • LEFT_TO_RHT: Reihenfolgentextfluss von links nach rechts. Die Textrichtung wird nur neu angeordnet, wenn Sprachzeichen von links nach rechts erkannt werden.
    • Rright_to_left: Reihenfolgentextfluss von rechts nach links. Die Textrichtung wird nur neu angeordnet, wenn von rechts nach links verlaufende Sprachzeichen erkannt werden.

    Standard: LINKS_NACH_RECHTS

    Tabelle : 32. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie der Textfluss von links nach rechts festgelegt wird. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.setBaseDirection("RIGHT_TO_LEFT");

    Dokument – setMargins(Number topMargin, Nummer rechtsrand, Nummer untenrand, Nummer linksrandrand)

    Legt die Seitenrandgrößen im Dokument fest.

    Tabelle : 33. Parameter
    Name Typ Beschreibung
    topMargin Nummer Höhe des oberen Randes in Punkten.
    rechten Rand Nummer Breite des rechten Randes in Punkten.
    unterer Rand Nummer Höhe des unteren Randes in Punkten.
    LeftMargin Nummer Breite des linken Rands in Punkten.
    Tabelle : 34. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Seitenränder in einem Dokument festgelegt werden. Ein Beispiel für die Dokumentverwendung finden Sie unter Dokument -API.

    var pageSize = new sn_pdfgeneratorutils.PdfPage("A4");
    var document = new sn_pdfgeneratorutils.Document.createDocument(pageSize);
    
    document.setMargins(72,36,36,36);