ドキュメント:スコープ対象、グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:19分
  • ドキュメント API は、PDF を初期化し、コンテンツを追加し、PDF を閉じるためのメソッドを提供します。コンテンツを追加した後、ドキュメントをターゲットレコードに添付できます。

    この API は ServiceNow PDF 生成ユーティリティプラグイン (com.snc.apppdfgenerator) の一部であり、 sn_pdfgeneratorutils 名前空間内で提供されます。このプラグインはデフォルトでアクティブ化されています。

    この API は、PDF を構成するさまざまな要素を構築するクラスのスイートに依存しています。
    • セルテーブル内のセルとして Cell オブジェクトを作成します。この API を使用してセルを書式設定し、段落や画像などの追加のブロックを含めることができます。
    • PDF 内の要素に適用できる色属性を定義するために使用される Color オブジェクトを作成します。セル、テーブル、行など。
    • 画像PDF での画像とそのレイアウト挿入を表す Image オブジェクトを作成します。スケール、配置、境界線の色などの属性を定義できます。
    • 線グラフPDF に線を描画するメソッドを使用して Line オブジェクトを作成します。
    • パラグラフPDF 内のテキストブロックを表す段落オブジェクトを作成します。
    • PDFページPDF ページとその属性を表す PdfPage オブジェクトを作成します。サイズ、幅、色など。
    • スタイルフォントサイズ、境界線、配置などのプロパティを定義するためのスタイルを作成します。同じスタイルを複数のオブジェクトに同時に適用できます。
    • テーブルPDF ドキュメントに追加するテーブルオブジェクトを作成します。各セルで使用するデータを定義し、スタイル、余白、配置を設定します。

    次の例は、 ドキュメント API といくつかのコンポーネント (テーブル、セル、段落など) を使用して基本的な PDF を作成する方法を示しています。結果は、PDF でリストされたインシデント [incident] テーブルのインシデントのリストです。PDF を添付するインシデントレコードのsys_idに置き換えることで <sys_id> 、この例をインスタンスでテストできます。

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

    PDF 添付ファイルが添付ファイル [sys_attachment] テーブルに一覧表示されます。

    インシデント番号と説明をリストした 2 列のテーブルとして出力される PDF の例。

    ドキュメント - ドキュメント (PdfPage pageSize)

    ドキュメントオブジェクトをインスタンス化し、PDF ドキュメントを生成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    pageSize PDF ページ PDF のページサイズ。
    表 : 2. 返される内容
    タイプ 説明
    オブジェクト PDF ドキュメント。

    次の例は、 Document オブジェクトを作成して PDF を返す方法を示しています。

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

    ドキュメント – addAndStartNewPage()

    現在のページを終了して新しいページを作成することで、ドキュメントにページを追加します。

    ドキュメントに新しいページを追加するためのその他の方法:
    • addNewPage()ドキュメントに新しい空白ページを追加します。ドキュメントの新しい章またはセクションを開始するために改ページを強制するために使用します。
    • addNewPageAtIndex():ドキュメントの指定されたインデックスに新しいページを追加します。たとえば、インデックスを 6 に設定すると、ドキュメント内の 6 ページ目が挿入されるか、既存の 6 ページ目の位置にページが挿入されます。元の 6 ページ目は 7 ページ目になります。
    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントに新しいページを追加する方法を示しています。 ドキュメントの使用例については、「 ドキュメント 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");

    ドキュメント – addAuthor(文字列 author)

    PDF ドキュメントのプロパティの作成者フィールドに名前を追加します。

    表 : 5. パラメーター
    名前 タイプ 説明
    author 文字列 ドキュメントの作成者の名前。
    表 : 6. 返される内容
    タイプ 説明
    なし

    次の例は、PDF ドキュメントのプロパティの作成者フィールドに名前を追加する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – addImage(画像画像)

    ドキュメントに画像を追加します。

    表 : 7. パラメーター
    名前 タイプ 説明
    イメージ 画像 ドキュメントに追加する画像。
    表 : 8. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントに画像を追加する方法を示しています。 ドキュメントの使用例については、「 ドキュメント 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");

    ドキュメント – addNewLine()

    ドキュメントに新しい空行を追加します。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントに新しい行を追加する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – addNewPage()

    ドキュメントに新しい空白ページを追加します。ドキュメントの新しい章またはセクションを開始するために改ページを強制するために使用します。

    ドキュメントに新しいページを追加するためのその他の方法:
    • addAndStartNewPage()現在のページを終了して新しいページを作成することで、ドキュメントにページを追加します。
    • addNewPageAtIndex():ドキュメントの指定されたインデックスに新しいページを追加します。たとえば、インデックスを 6 に設定すると、ドキュメント内の 6 ページ目が挿入されるか、既存の 6 ページ目の位置にページが挿入されます。元の 6 ページ目は 7 ページ目になります。
    表 : 11. パラメーター
    名前 タイプ 説明
    なし
    表 : 12. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントに新しい空白ページを追加する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – addNewPageAtIndex(Number index)

    :ドキュメントの指定されたインデックスに新しいページを追加します。たとえば、インデックスを 6 に設定すると、ドキュメント内の 6 ページ目が挿入されるか、既存の 6 ページ目の位置にページが挿入されます。元の 6 ページ目は 7 ページ目になります。

    ドキュメントに新しいページを追加するためのその他の方法:
    • addAndStartNewPage()現在のページを終了して新しいページを作成することで、ドキュメントにページを追加します。
    • addNewPage()ドキュメントに新しい空白ページを追加します。ドキュメントの新しい章またはセクションを開始するために改ページを強制するために使用します。
    表 : 13. パラメーター
    名前 タイプ 説明
    インデックス 番号 新しいページを挿入する位置。
    表 : 14. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントの位置 6 に新しい PDF ページを追加する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – addParagraph(段落段落)

    ドキュメントに段落を追加します。

    表 : 15. パラメーター
    名前 タイプ 説明
    paragraph パラグラフ 段落オブジェクトとして提供されるテキストブロック。
    表 : 16. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントに段落を追加する方法を示しています。 ドキュメントの使用例については、「 ドキュメント 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);

    ドキュメント – addTable(テーブルテーブル)

    ドキュメントにテーブルを追加します。

    表 : 17. パラメーター
    名前 タイプ 説明
    テーブル テーブル ドキュメントに挿入するテーブル。
    表 : 18. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントにテーブルを追加する方法を示しています。テーブルの定義方法の詳細については、 テーブル API を参照してください。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – close()

    ドキュメントを閉じます。

    表 : 19. パラメーター
    名前 タイプ 説明
    なし
    表 : 20. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントを閉じる方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – createDocument(PdfPage pageSize)

    指定されたページサイズでドキュメントを作成します。

    表 : 21. パラメーター
    名前 タイプ 説明
    pageSize PDF ページ ドキュメントのページサイズ。
    表 : 22. 返される内容
    タイプ 説明
    オブジェクト PDF ドキュメント。

    次の例は、ドキュメントの作成方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – getPageCount()

    ドキュメントのページ数を取得します。

    表 : 23. パラメーター
    名前 タイプ 説明
    なし
    表 : 24. 返される内容
    タイプ 説明
    番号 ドキュメントのページ数。

    次の例は、9 ページのドキュメントのページ数を取得する方法を示しています。 ドキュメントの使用例については、「 ドキュメント 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);

    出力:

    The number of pages is 9

    ドキュメント – getPageSize()

    ドキュメントのデフォルトのページサイズを取得します。

    表 : 25. パラメーター
    名前 タイプ 説明
    なし
    表 : 26. 返される内容
    タイプ 説明
    文字列 PdfPage API を使用して設定されたデフォルトのページサイズの値。
    可能な値:
    • A4 – 595 x 842 ポイント
    • エグゼクティブ – 522 x 756 ポイント
    • レター – 612 x 792 ポイント
    • 元帳 – 792 x 1224 ポイント

    次の例は、ドキュメントのページサイズを取得する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – isClosed()

    ドキュメントが閉じているか開いているかを示します。

    表 : 27. パラメーター
    名前 タイプ 説明
    なし
    表 : 28. 返される内容
    タイプ 説明
    なし ドキュメントが開いているか閉じられているかを示すフラグ。
    有効な値:
    • true:ドキュメントはクローズされています。
    • false:ドキュメントが開いています。

    デフォルト:true

    次の例は、ドキュメントのページサイズを取得する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – saveAsAttachment(String tableName, String tableSysId, String fileName)

    指定されたターゲットテーブルにドキュメントファイルを添付します。

    表 : 29. パラメーター
    名前 タイプ 説明
    tableName 文字列 ドキュメントを添付するテーブルの名前。
    tableSysId 文字列 ドキュメントを添付するレコードのSys_id。
    fileName 文字列 添付するドキュメントの名前。
    表 : 30. 返される内容
    タイプ 説明
    文字列 添付ファイル [sys_attachment] テーブル内の添付ドキュメントのSys_id。

    次の例は、インシデントレコードにドキュメントを添付する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – setBaseDirection(文字列の方向)

    文字認識に基づいて並べ替えるベーステキストのフロー方向を設定します

    表 : 31. パラメーター
    名前 タイプ 説明
    direction 文字列 テキストのフロー方向。
    有効な値:
    • LEFT_TO_RIGHT:順序テキストが左から右に流れます。テキストの向きは、左から右に記述する言語の文字が検出された場合にのみ並べ替えられます。
    • RIGHT_TO_LEFT:順序テキストが右から左に流れます。テキストの向きは、右から左に記述する言語の文字が検出された場合にのみ並べ替えられます。

    デフォルト:LEFT_TO_RIGHT

    表 : 32. 返される内容
    タイプ 説明
    なし

    次の例は、テキストフローを左から右に設定する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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

    ドキュメント – setMargins(Number topMargin, Number rightMargin, Number bottomMargin, Number leftMargin)

    ドキュメントのページ余白サイズを設定します。

    表 : 33. パラメーター
    名前 タイプ 説明
    topMargin 番号 上マージンの高さ (ポイント単位)。
    右マージン 番号 右マージンの幅 (ポイント単位)。
    下マージン 番号 下マージンの高さ (ポイント単位)。
    左マージン 番号 左マージンの幅 (ポイント単位)。
    表 : 34. 返される内容
    タイプ 説明
    なし

    次の例は、ドキュメントのページ余白を設定する方法を示しています。 ドキュメントの使用例については、「 ドキュメント API」 を参照してください。

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