Dokument – bereichsbezogen, global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 10 Minuten Lesedauer
  • Die Document 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 Inhalten kann das Dokument an einen Zieldatensatz angehängt werden.

    Diese API ist Teil des Plugins ServiceNow PDF Generation 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 zu erstellen, aus denen eine PDF-Datei besteht.
    • 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.
    • Bild  – Erstellt ein Image-Objekt, das ein Bild darstellt, und dessen Layout in eine PDF-Datei einfügt. Ermöglicht die Definition von Attributen wie Skalierung, Ausrichtung und Rahmenfarbe.
    • Linie  – Erstellt ein Linienobjekt mit Methoden, um eine Linie in einer PDF-Datei zu zeichnen.
    • AbsatzErstellt ein Absatzobjekt, das einen Textblock in einer PDF-Datei darstellt.
    • PdfPage  – Erstellt ein PdfPage-Objekt, das eine PDF-Seite und ihre Attribute darstellt; wie Größe, Breite und Farbe.
    • Stil : Erstellt einen Stil zum Definieren von Eigenschaften wie Schriftgröße, Rahmen und Ausrichtung. Sie können denselben Stil auf mehrere Objekte gleichzeitig anwenden.
    • Tabelle  – Erstellt 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 Tabelle „Incident“ [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.

    Document – 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. Ergebnisse
    Typ Beschreibung
    Objekt PDF-Dokument.

    Das folgende Beispiel zeigt, wie ein Dokumentobjekt erstellt und eine PDF-Datei zurückgegeben wird.

    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 Seite 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 diese Option, um einen Seitenumbruch zu erzwingen, um 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 festlegen, wird Seite sechs eingefügt oder die Seite wird an der Position der vorhandenen Seite sechs in einem 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 Verwendung von Dokumenten finden Sie unter Document 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");

    Document – addAuthor(Stringauthor)

    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. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie dem Feld „Autor“ in den PDF-Dokumenteigenschaften einen Namen hinzufügen. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document API.

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

    Document – addImage(Image image)

    Fügt ein Bild zu einem Dokument hinzu.

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

    Das folgende Beispiel zeigt, wie Sie einem Dokument ein Bild hinzufügen. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document 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 Verwendung von Dokumenten finden Sie unter Document 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 diese Option, um einen Seitenumbruch zu erzwingen, um 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 Seite erstellt wird.
    • addNewPageAtIndex()Fügt eine neue Seite am angegebenen Index des Dokuments hinzu. Wenn Sie beispielsweise den Index auf 6 festlegen, wird Seite sechs eingefügt oder die Seite wird an der Position der vorhandenen Seite sechs in einem 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 Verwendung von Dokumenten finden Sie unter Document API.

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

    Document – addNewPageAtIndex(Number index)

    Fügt eine neue Seite am angegebenen Index des Dokuments hinzu. Wenn Sie beispielsweise den Index auf 6 festlegen, wird Seite sechs eingefügt oder die Seite wird an der Position der vorhandenen Seite sechs in einem 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 Seite erstellt wird.
    • addNewPage()Fügt dem Dokument eine neue leere Seite hinzu. Verwenden Sie diese Option, um einen Seitenumbruch zu erzwingen, um 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. Ergebnisse
    Typ Beschreibung
    Keine

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

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

    Dokument – addParagraph(Paragraph paragraph)

    Fügt einem Dokument einen Absatz hinzu.

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

    Das folgende Beispiel zeigt, wie Sie einem Dokument einen Absatz hinzufügen. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document 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);

    Document – 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. Ergebnisse
    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 Verwendung von Dokumenten finden Sie unter Document API.

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

    Dokument – close()

    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 Verwendung von Dokumenten finden Sie unter Document API.

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

    Document – createDocument(PdfPage pageSize)

    Erstellt ein Dokument mit der angegebenen Seitengröße.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    pageSize PDF-Seite Dokumentseitengröße.
    Tabelle : 22. Ergebnisse
    Typ Beschreibung
    Objekt PDF-Dokument.

    Das folgende Beispiel zeigt, wie ein Dokument erstellt wird. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document API.

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

    Document – 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 die Seitenanzahl eines neunseitigen Dokuments abgerufen wird. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document 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

    Document – 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, der mit der PdfPage- API festgelegt wird.
    Mögliche Werte:
    • A4 – 595 x 842 Punkte
    • EXECUTIVE – 522 x 756 Punkte
    • LETTER – 612 x 792 Punkte
    • LEDGER – 792 x 1224 Punkte

    Das folgende Beispiel zeigt, wie die Seitengröße eines Dokuments ermittelt wird. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document 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:
    • true: Dokument wird geschlossen.
    • false: Dokument ist geöffnet.

    Standardwert: true

    Das folgende Beispiel zeigt, wie die Seitengröße eines Dokuments ermittelt wird. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document 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. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Sys_id des angehängten Dokuments in der Tabelle „Anhänge“ [sys_attachment].

    Das folgende Beispiel zeigt, wie ein Dokument an einen Incident-Datensatz angehängt wird. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document API.

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

    Document – setBaseDirection(String gerichtet)

    Legt die Basistextflussrichtung so fest, dass sie basierend auf der Zeichenerkennung neu angeordnet wird

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    direction Zeichenfolge Textflussrichtung.
    Gültige Werte:
    • LEFT_TO_Right: Textfluss von links nach rechts anordnen. Die Textrichtung wird nur neu angeordnet, wenn von links nach rechts gerichtete Sprachzeichen erkannt werden.
    • Rright_to_left: Der Textfluss wird von rechts nach links angeordnet. Die Textrichtung wird nur neu angeordnet, wenn rechtsläufige Sprachzeichen erkannt werden.

    Standard: LEFT_TO_Right

    Tabelle : 32. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie der Textfluss von links nach rechts festgelegt wird. Ein Beispiel für die Verwendung von Dokumenten finden Sie unter Document 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, Number rightMargin, Number BottomMargin, Number leftMargin)

    Legt die Seitenrandgrößen im Dokument fest.

    Tabelle : 33. Parameter
    Name Typ Beschreibung
    topMargin Nummer Höhe des oberen Rands in Punkten.
    rightMargin Nummer Breite des rechten Rands in Punkten.
    unterer Rand Nummer Höhe des unteren Rands 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 Verwendung von Dokumenten finden Sie unter Document API.

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