PDFGenerationAPI - スコープ付き、グローバル

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:84分
  • PDFGenerationAPI は、PDF 変換と PDF フィールドの処理をサポートします。

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

    glide.pdf.url.whitelist プロパティを使用して検証レイヤーを追加し、導入された外部 URL を生成された PDF に含めるかどうかを確認します。システムプロパティ glide.pdf.url.whitelisting.enabled が true に設定されている場合、com.snc.pdf.whitelisted_urls システムプロパティの [値] フィールドにリストされていない限り、PDF は URL コンテンツを処理しません。これらのプロパティは、システムプロパティ [sys_properties] テーブルにリストされます。詳細については、「Available system properties」を参照してください。

    このクラスのメソッドによって、次のタスクが可能になります。
    注:
    これらのメソッドは、カタログ以外のアイテムで作成されたドキュメントにも使用できます。

    PDFGenerationAPI – PDFGenerationAPI()

    新しい PDFGenerationAPI オブジェクトをインスタンス化します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし

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

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

    PDFGenerationAPI – convertToPDF(文字列 html, 文字列 targetTable, 文字列 targetTableSysId, 文字列 pdfName, 文字列 fontFamilySysId, オブジェクト documentConfiguration)

    HTML 文字列を PDF ドキュメントに変換します。

    この方法では、ページサイズ A4 – 595 × 842 ポイントを使用して PDF を作成します。このサイズを超えると、コンテンツは切り捨てられます。

    ページサイズ、向き、ページ番号などの追加設定で PDF を生成するには、 convertToPDFWithHeaderFooter() を使用します。

    表 : 2. パラメーター
    名前 タイプ 説明
    html 文字列 PDF ドキュメントに変換する HTML。
    targetTable 文字列 変換された PDF を添付するテーブルの名前
    targetTableSysId 文字列 変換された PDF を添付するレコードの sys_id。
    pdfName 文字列 PDF に付ける名前。

    デフォルト:添付ファイル [sys_attachment] テーブル内の PDF の sys_id。

    fontFamilySysId 文字列 オプション。PDF に使用するフォントファミリーの sys_id。この sys_id は、PDF 生成フォントファミリ [sys_pdf_generation_font_family] テーブルからのものです。

    デフォルト:none

    documentConfiguration オブジェクト オプション。目次の構成とページ番号の構成を含むオブジェクト。
    {​
       "accessibilityEnabled" : Boolean,
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.accessibilityEnabled ブール オプション。生成された PDF をアクセシビリティをサポートするように書式設定するかどうかを示すフラグ。この機能を有効にすると、アクセシビリティタグが PDF タグツリーで利用可能になり、スクリーンリーダーを使用して生成された PDF ドキュメントをナビゲート、理解、操作するユーザーに役立ちます。
    有効な値:
    • true:生成された PDF はアクセシビリティ用に書式設定されます。
    • false:生成された PDF はアクセシビリティ用にフォーマットされていません。

    デフォルト値:False

    documentConfiguration.toc_config 文字列 オプション。PDF に使用する目次構成の sys_id。この sys_id は、目次構成 [doc_toc_config] テーブルからのものです。

    デフォルト:なし

    documentConfiguration.page_number_config 文字列 オプション。PDF に使用するページ番号構成の sys_id。この sys_id はページ番号構成 [doc_page_number_config] テーブルからのものです。

    デフォルト:なし

    表 : 3. 返される内容
    タイプ 説明
    オブジェクト 変換に成功した場合は PDF 添付ファイルの sys_id を含むオブジェクト、失敗した場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "request_id": "String",
      "status": "String"
    }
    <Object>.​attachment_id HTML 変換に成功した場合は、変換されて添付された PDF の sys_id。ファイルは、添付ファイル [sys_attachment] テーブルにリストされます。

    データタイプ:文字列

    <Object>.message 成功またはエラーを確認するメッセージ。
    可能な値:
    • 変換に失敗しました。PDF は作成されません。指定された値が正確であることを確認してください。
    • 変換に成功しました。 HTML が PDF に正常に変換されました。
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。
    • <URL> がホワイトリストに登録された URL にリストされていません。URL のホワイトリスト登録プロパティを確認してください:「glide.pdf.url.whitelisting.enabled」および「com.snc.pdf.whitelisted_urls」 – システムプロパティ glide.pdf.url.whitelisting.enabled が true に設定されている場合、com.snc.pdf.whitelisted_urls システムプロパティの [値] フィールドにリストされていない限り、PDF は URL コンテンツを処理しません。これらのプロパティは、システムプロパティ [sys_properties] テーブルにリストされます。

    データタイプ:文字列

    <Object>.request_id 変更プロデューサー要求レコードのSys_id。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、HTML を PDF に変換して、その PDF をインシデント [incident] テーブル内のレコードに添付する方法を示しています。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var result = v.convertToPDF(html, "incident", "<target_sys_id>", "myPDF");
    gs.info(JSON.stringify(result));

    出力:

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

    PDFGenerationAPI – convertToPDFAsync(文字列 html, 文字列 targetTable, 文字列 targetTableSysId, 文字列 pdfName, 文字列 fontFamilySysId, オブジェクト documentConfiguration)

    HTML 文字列を PDF ドキュメントに非同期に変換するジョブをステージングします。非同期処理を使用すると、PDF 変換の進行中にインスタンスで作業できます。これは、大きな PDF のエクスポートに特に役立ちます。

    この API は、ページサイズ A4 – 595 × 842 ポイントを使用して PDF を作成します。このサイズを超えると、コンテンツは切り捨てられます。

    ページ サイズ、向き、ページ番号などの追加設定で PDF を生成するには、 convertToPDFWithHeaderFooterAsync() を使用します。

    表 : 4. パラメーター
    名前 タイプ 説明
    html 文字列 PDF ドキュメントに変換する HTML。
    targetTable 文字列 変換された PDF を添付するテーブルの名前
    targetTableSysId 文字列 変換された PDF を添付するレコードの sys_id。
    pdfName 文字列 PDF に付ける名前。

    デフォルト:添付ファイル [sys_attachment] テーブル内の PDF の sys_id。

    fontFamilySysId 文字列 オプション。PDF に使用するフォントファミリーの sys_id。この sys_id は、PDF 生成フォントファミリ [sys_pdf_generation_font_family] テーブルからのものです。

    デフォルト:none

    documentConfiguration オブジェクト オプション。目次の構成とページ番号の構成を含むオブジェクト。
    {​
       "accessibilityEnabled" : Boolean,
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.accessibilityEnabled ブール オプション。生成された PDF をアクセシビリティをサポートするように書式設定するかどうかを示すフラグ。この機能を有効にすると、アクセシビリティタグが PDF タグツリーで利用可能になり、スクリーンリーダーを使用して生成された PDF ドキュメントをナビゲート、理解、操作するユーザーに役立ちます。
    有効な値:
    • true:生成された PDF はアクセシビリティ用に書式設定されます。
    • false:生成された PDF はアクセシビリティ用にフォーマットされていません。

    デフォルト値:False

    documentConfiguration.toc_config 文字列 オプション。PDF に使用する目次構成の sys_id。この sys_id は、目次構成 [doc_toc_config] テーブルからのものです。

    デフォルト:なし

    documentConfiguration.page_number_config 文字列 オプション。PDF に使用するページ番号構成の sys_id。この sys_id はページ番号構成 [doc_page_number_config] テーブルからのものです。

    デフォルト:なし

    表 : 5. 返される内容
    タイプ 説明
    オブジェクト PDF 変換が進行中かどうかを示すオブジェクト。PDF 生成ステータス [sys_pdf_generation_status] テーブルで変換ステータスを確認できます。
    {
      "message": "String",
      "request_id": "String"
    }
    <Object>.message 成功またはエラーを確認するメッセージ。
    可能な値:
    • HTML から PDF への変換が進行中です。・HTMLをPDFドキュメントに変換するリクエストが成功しました。
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。
    • <URL> がホワイトリストに登録された URL にリストされていません。URL のホワイトリスト登録プロパティを確認してください:「glide.pdf.url.whitelisting.enabled」および「com.snc.pdf.whitelisted_urls」 – システムプロパティ glide.pdf.url.whitelisting.enabled が true に設定されている場合、com.snc.pdf.whitelisted_urls システムプロパティの [値] フィールドにリストされていない限り、PDF は URL コンテンツを処理しません。これらのプロパティは、システムプロパティ [sys_properties] テーブルにリストされます。

    データタイプ:文字列

    <Object>.request_id 変更プロデューサー要求レコードのSys_id。

    データタイプ:文字列

    次の例は、HTML を PDF に変換するタスクをキューに入れる方法を示しています。変換が完了すると、「myPDF」という名前の PDF がインシデント [incident] テーブルのターゲットレコードに添付されます。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var result = v.convertToPDFAsync(html, "incident", "<target_sys_id>", "myPDF");
    gs.info(JSON.stringify(result));

    出力:

    {"message":"HTML to PDF Conversion is in progress.","request_id":"<sys_id>"}

    PDFGenerationAPI – convertToPDFWithHeaderFooter(文字列 html, 文字列 targetTable, 文字列 targetTableSysId, 文字列 pdfName, オブジェクト headerFooterInfo, 文字列 fontFamilySysId, オブジェクト documentConfiguration)

    HTML 文字列を、ヘッダーとフッターのコンテンツを含む PDF に変換します。

    このメソッドを使用して、次のページ設定で PDF を生成します。
    • ヘッダーとフッターの情報
    • マージンのサイズ
    • 向き
    • 列挙
    • ページサイズ
    表 : 6. パラメーター
    名前 タイプ 説明
    html 文字列 PDF ドキュメントに変換する HTML。
    targetTable 文字列 変換された PDF を添付するテーブルの名前
    targetTableSysId 文字列 変換された PDF を添付するレコードの sys_id。
    pdfName 文字列 PDF に付ける名前。

    デフォルト:添付ファイル [sys_attachment] テーブル内の PDF の sys_id。

    headerFooterInfo オブジェクト PDF のヘッダーとフッターの詳細を定義します。
    {
      "FooterImageAlignment": "String",
      "FooterImageAttachmentId": "String",
      "FooterImageHeight": "String",
      "FooterText": "String",
      "FooterTextAlignment": "String",
      "GeneratePageNumber": "String",
      "HeaderImageAlignment": "String",
      "HeaderImageAttachmentId": "String",
      "HeaderImageHeight": "String",
      "LeftOrRightMargin": "String",
      "PageOrientation": "String",
      "PageSize": "String",
      "TopOrBottomMargin": "String"
    }
    headerFooterInfo.​FooterImageAlignment 文字列 フッター内の画像の位置を設定します。
    有効な値:
    • BOTTOM_CENTER:フッターの中央下部に画像を配置します。
    • BOTTOM_LEFT:フッターの左下の領域に画像を配置します。
    • BOTTOM_RIGHT:フッターの右下の領域に画像を配置します。
    • TOP_CENTER:フッターの中央上部に画像を配置します。
    • TOP_LEFT:フッターの左上の領域に画像を配置します。
    • TOP_RIGHT:フッターの右上の領域に画像を配置します。
    headerFooterInfo.​FooterImageAttachmentId 文字列 添付ファイル [sys_attachment] テーブル内のフッター画像の sys_id。 インスタンスでファイルタイプがサポートされているかどうかを判断するには、 システムプロパティ[セキュリティ] に移動し、[ 添付可能なファイル拡張子のリスト (カンマ区切り) (List of file extensions (comma-separated) that be attached )] フィールドにリストされているかどうかを確認します。
    headerFooterInfo.​FooterImageHeight 文字列 フッター画像の高さ。

    デフォルト:50 ポイント

    headerFooterInfo.​FooterText 文字列 PDF の各ページの下部に配置するフッターテキスト。
    headerFooterInfo.​FooterTextAlignment 文字列 フッター内のテキストの位置を設定します。この値が headerFooterInfo.FooterImageAlignment で指定された領域と一致も競合もしていないことを確認してください。
    有効な値:
    • BOTTOM_CENTER:フッターの中央下部にテキストを配置します。
    • BOTTOM_LEFT:フッターの左下の領域にテキストを配置します。
    • BOTTOM_RIGHT:フッターの右下の領域にテキストを配置します。
    • TOP_CENTER:フッターの中央上部にテキストを配置します。
    • TOP_LEFT:フッターの左上の領域にテキストを配置します。
    • TOP_RIGHT:フッターの右上の領域にテキストを配置します。
    headerFooterInfo.​GeneratePageNumber 文字列 PDF のページ番号を生成するかどうかを示すフラグ。
    有効な値:
    • true:ページ番号を生成します。
    • false:ページ番号を生成しません。

    デフォルト:true

    headerFooterInfo.​HeaderImageAlignment 文字列 ヘッダー内の画像の位置を設定します。
    有効な値:
    • center:ヘッダーの中央に画像を配置します。
    • left:ヘッダーの左側に画像を配置します。
    • right:ヘッダーの右側に画像を配置します。
    headerFooterInfo.​HeaderImageAttachmentId 文字列 添付ファイル [sys_attachment] テーブル内のヘッダー画像の sys_id。 インスタンスでファイルタイプがサポートされているかどうかを判断するには、 システムプロパティ[セキュリティ] に移動し、[ 添付可能なファイル拡張子のリスト (カンマ区切り) (List of file extensions (comma-separated) that be attached )] フィールドにリストされているかどうかを確認します。
    headerFooterInfo.​HeaderImageHeight 文字列 ヘッダー画像の高さ。

    デフォルト:50 ポイント

    headerFooterInfo.​LeftOrRightMargin 文字列 左右のマージンのサイズ。ページの左側または右側に配置すると、ヘッダーとフッターの詳細がこの領域に配置されます。

    デフォルト:36 ポイント

    headerFooterInfo.​PageOrientation 文字列 ページの向き。
    有効な値:
    • PORTRAIT (縦向き)
    • LANDSCAPE (横向き)

    デフォルト:Portrait (縦向き)

    headerFooterInfo.​PageSize 文字列 ドキュメントのページサイズです。
    有効な値:
    • A4:595 x 842 ポイント
    • LETTER:612 x 792 ポイント
    • LEDGER:792 x 1224 ポイント

    コンテンツは、ページサイズを超えると切り捨てられます。

    headerFooterInfo.​TopOrBottomMargin 文字列 上下のマージンのサイズ。ヘッダーとフッターの詳細がこの領域に配置されます。

    デフォルト:72 ポイント

    fontFamilySysId 文字列 オプション。PDF に使用するフォントファミリーの sys_id。この sys_id は、PDF 生成フォントファミリ [sys_pdf_generation_font_family] テーブルからのものです。

    デフォルト:none

    documentConfiguration オブジェクト オプション。目次の構成とページ番号の構成を含むオブジェクト。
    {​
       "accessibilityEnabled" : Boolean,
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.accessibilityEnabled ブール オプション。生成された PDF をアクセシビリティをサポートするように書式設定するかどうかを示すフラグ。この機能を有効にすると、アクセシビリティタグが PDF タグツリーで利用可能になり、スクリーンリーダーを使用して生成された PDF ドキュメントをナビゲート、理解、操作するユーザーに役立ちます。
    有効な値:
    • true:生成された PDF はアクセシビリティ用に書式設定されます。
    • false:生成された PDF はアクセシビリティ用にフォーマットされていません。

    デフォルト値:False

    documentConfiguration.toc_config 文字列 オプション。PDF に使用する目次構成の sys_id。この sys_id は、目次構成 [doc_toc_config] テーブルからのものです。

    デフォルト:なし

    documentConfiguration.page_number_config 文字列 オプション。PDF に使用するページ番号構成の sys_id。この sys_id はページ番号構成 [doc_page_number_config] テーブルからのものです。

    デフォルト:なし

    表 : 7. 戻り値
    タイプ 説明
    オブジェクト 変換に成功した場合は PDF 添付ファイルの sys_id を含むオブジェクト、失敗した場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "request_id": "String",
      "status": "String"
    }
    <Object>.​attachment_id HTML 変換に成功した場合は、変換されて添付された PDF の sys_id。ファイルは、添付ファイル [sys_attachment] テーブルにリストされます。

    データタイプ:文字列

    <Object>.​メッセージ 成功またはエラーを確認するメッセージ。
    可能な値:
    • 変換に失敗しました。PDF は作成されません。指定された値が正確であることを確認してください。
    • 変換に成功しました。 HTML が PDF に正常に変換されました。
    • フッター画像の配置とテキストの配置を次の同じ位置で同じ領域に置くことはできません: <footerImageAlignment value> – headerFooterInfo.​FooterImageAlignmentheaderFooterInfo.​FooterTextAlignment の値が同じ領域にないことを確認します。
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 無効なフッター画像の配置:<invalid_option> が提供されます。 – headerFooterInfo.​FooterImageAlignment プロパティに有効なオプションを指定します。
    • 無効なフッターテキストの配置:" + <invalid_option> + " が提供されます。 – headerFooterInfo.​footerTextAlignment プロパティに有効なオプションを指定します。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • フッター画像を取得できません。sysId:+<指定した値> – headerFooterInfo.​footerImageId に指定された sys_id が正確であることを確認します。
    • ヘッダー画像を取得できません。sysId:+<指定した値> – headerFooterInfo.​headerImageId に指定された sys_id が正確であることを確認します。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。
    • <URL> がホワイトリストに登録された URL にリストされていません。URL のホワイトリスト登録プロパティを確認してください:「glide.pdf.url.whitelisting.enabled」および「com.snc.pdf.whitelisted_urls」 – システムプロパティ glide.pdf.url.whitelisting.enabled が true に設定されている場合、com.snc.pdf.whitelisted_urls システムプロパティの [値] フィールドにリストされていない限り、PDF は URL コンテンツを処理しません。これらのプロパティは、システムプロパティ [sys_properties] テーブルにリストされます。

    データタイプ:文字列

    <Object>.request_id 変更プロデューサー要求レコードのSys_id。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、HTML を「myPDF」という名前の PDF に変換して、その PDF を添付ファイルとしてインシデント [incident] テーブル内のレコードに追加する方法を示しています。PDF には、添付ファイルを介して提供されるヘッダーとフッターが含まれています。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var hfInfo = new Object();
    hfInfo["HeaderImageAttachmentId"] = "<hdrImgAttSysId>";
    hfInfo["HeaderImageAlignment"] = "left";
    hfInfo["FooterImageAttachmentId"] = "<ftrImgAttSysId>";
    hfInfo["FooterImageAlignment"] = "TOP_CENTER";
    hfInfo["FooterText"] = "Sample Footer Message";
    hfInfo["PageSize"] = "A4";
    hfInfo["GeneratePageNumber"] = "false";
    hfInfo["TopOrBottomMargin"] = "36";
    hfInfo["LeftOrRightMargin"] = "24";
    
    var result = v.convertToPDFWithHeaderFooter(html, "incident", "<targetTbl_sys_id>", "myPDF", hfInfo);
    gs.info(JSON.stringify(result));

    出力:

    {"attachment_id":"<sys_id>","message":"Conversion is successful.","request_id":"<change_sys_id>","status":"success"}

    PDFGenerationAPI – convertToPDFWithHeaderFooterAsync(String html, String targetTable, String targetTableSysId, String pdfName, Object headerFooterInfo, String fontFamilySysId, Object documentConfiguration)

    HTML 文字列をヘッダーとフッターのコンテンツを含む PDF に非同期で変換するジョブをステージングします。非同期処理を使用すると、PDF 変換の進行中にインスタンスで作業できます。これは、大きな PDF のエクスポートに特に役立ちます。

    このメソッドを使用して、次のページ設定で PDF を生成します。
    • ヘッダーとフッターの情報
    • マージンのサイズ
    • 向き
    • 列挙
    • ページサイズ
    表 : 8. パラメーター
    名前 タイプ 説明
    html 文字列 PDF ドキュメントに変換する HTML。
    targetTable 文字列 変換された PDF を添付するテーブルの名前
    targetTableSysId 文字列 変換された PDF を添付するレコードの sys_id。
    pdfName 文字列 PDF に付ける名前。

    デフォルト:添付ファイル [sys_attachment] テーブル内の PDF の sys_id。

    headerFooterInfo オブジェクト PDF のヘッダーとフッターの詳細を定義します。
    {
      "FooterImageAlignment": "String",
      "FooterImageAttachmentId": "String",
      "FooterImageHeight": "String",
      "FooterText": "String",
      "FooterTextAlignment": "String",
      "GeneratePageNumber": "String",
      "HeaderImageAlignment": "String",
      "HeaderImageAttachmentId": "String",
      "HeaderImageHeight": "String",
      "LeftOrRightMargin": "String",
      "PageOrientation": "String",
      "PageSize": "String",
      "TopOrBottomMargin": "String"
    }
    headerFooterInfo.​FooterImageAlignment 文字列 フッター内の画像の位置を設定します。
    有効な値:
    • BOTTOM_CENTER:フッターの中央下部に画像を配置します。
    • BOTTOM_LEFT:フッターの左下の領域に画像を配置します。
    • BOTTOM_RIGHT:フッターの右下の領域に画像を配置します。
    • TOP_CENTER:フッターの中央上部に画像を配置します。
    • TOP_LEFT:フッターの左上の領域に画像を配置します。
    • TOP_RIGHT:フッターの右上の領域に画像を配置します。
    headerFooterInfo.​FooterImageAttachmentId 文字列 添付ファイル [sys_attachment] テーブル内のフッター画像の sys_id。 インスタンスでファイルタイプがサポートされているかどうかを判断するには、 システムプロパティ[セキュリティ] に移動し、[ 添付可能なファイル拡張子のリスト (カンマ区切り) (List of file extensions (comma-separated) that be attached )] フィールドにリストされているかどうかを確認します。
    headerFooterInfo.​FooterImageHeight 文字列 フッター画像の高さ。

    デフォルト:50 ポイント

    headerFooterInfo.​FooterText 文字列 PDF の各ページの下部に配置するフッターテキスト。
    headerFooterInfo.​FooterTextAlignment 文字列 フッター内のテキストの位置を設定します。この値が headerFooterInfo.FooterImageAlignment で指定された領域と一致も競合もしていないことを確認してください。
    有効な値:
    • BOTTOM_CENTER:フッターの中央下部にテキストを配置します。
    • BOTTOM_LEFT:フッターの左下の領域にテキストを配置します。
    • BOTTOM_RIGHT:フッターの右下の領域にテキストを配置します。
    • TOP_CENTER:フッターの中央上部にテキストを配置します。
    • TOP_LEFT:フッターの左上の領域にテキストを配置します。
    • TOP_RIGHT:フッターの右上の領域にテキストを配置します。
    headerFooterInfo.​GeneratePageNumber 文字列 PDF のページ番号を生成するかどうかを示すフラグ。
    有効な値:
    • true:ページ番号を生成します。
    • false:ページ番号を生成しません。

    デフォルト:true

    headerFooterInfo.​HeaderImageAlignment 文字列 ヘッダー内の画像の位置を設定します。
    有効な値:
    • center:ヘッダーの中央に画像を配置します。
    • left:ヘッダーの左側に画像を配置します。
    • right:ヘッダーの右側に画像を配置します。
    headerFooterInfo.​HeaderImageAttachmentId 文字列 添付ファイル [sys_attachment] テーブル内のヘッダー画像の sys_id。 インスタンスでファイルタイプがサポートされているかどうかを判断するには、 システムプロパティ[セキュリティ] に移動し、[ 添付可能なファイル拡張子のリスト (カンマ区切り) (List of file extensions (comma-separated) that be attached )] フィールドにリストされているかどうかを確認します。
    headerFooterInfo.​HeaderImageHeight 文字列 ヘッダー画像の高さ。

    デフォルト:50 ポイント

    headerFooterInfo.​LeftOrRightMargin 文字列 左右のマージンのサイズ。ページの左側または右側に配置すると、ヘッダーとフッターの詳細がこの領域に配置されます。

    デフォルト:36 ポイント

    headerFooterInfo.​PageOrientation 文字列 ページの向き。
    有効な値:
    • PORTRAIT (縦向き)
    • LANDSCAPE (横向き)

    デフォルト:Portrait (縦向き)

    headerFooterInfo.​PageSize 文字列 ドキュメントのページサイズです。
    有効な値:
    • A4:595 x 842 ポイント
    • LETTER:612 x 792 ポイント
    • LEDGER:792 x 1224 ポイント

    コンテンツは、ページサイズを超えると切り捨てられます。

    headerFooterInfo.​TopOrBottomMargin 文字列 上下のマージンのサイズ。ヘッダーとフッターの詳細がこの領域に配置されます。

    デフォルト:72 ポイント

    fontFamilySysId 文字列 オプション。PDF に使用するフォントファミリーの sys_id。この sys_id は、PDF 生成フォントファミリ [sys_pdf_generation_font_family] テーブルからのものです。

    デフォルト:none

    documentConfiguration オブジェクト オプション。目次の構成とページ番号の構成を含むオブジェクト。
    {​
       "accessibilityEnabled" : Boolean,
       "toc_config" : "String",​
       "page_number_config": "String"​
    }​
    documentConfiguration.accessibilityEnabled ブール オプション。生成された PDF をアクセシビリティをサポートするように書式設定するかどうかを示すフラグ。この機能を有効にすると、アクセシビリティタグが PDF タグツリーで利用可能になり、スクリーンリーダーを使用して生成された PDF ドキュメントをナビゲート、理解、操作するユーザーに役立ちます。
    有効な値:
    • true:生成された PDF はアクセシビリティ用に書式設定されます。
    • false:生成された PDF はアクセシビリティ用にフォーマットされていません。

    デフォルト値:False

    documentConfiguration.toc_config 文字列 オプション。PDF に使用する目次構成の sys_id。この sys_id は、目次構成 [doc_toc_config] テーブルからのものです。

    デフォルト:なし

    documentConfiguration.page_number_config 文字列 オプション。PDF に使用するページ番号構成の sys_id。この sys_id はページ番号構成 [doc_page_number_config] テーブルからのものです。

    デフォルト:なし

    表 : 9. 戻り値
    タイプ 説明
    オブジェクト
    <Object>.​message 成功またはエラーを確認するメッセージ。
    可能な値:
    • HTML から PDF への変換が進行中です。・HTMLをPDFドキュメントに変換するリクエストが成功しました。
    • フッター画像の配置とテキストの配置を次の同じ位置で同じ領域に置くことはできません: <footerImageAlignment value> – headerFooterInfo.​FooterImageAlignmentheaderFooterInfo.​FooterTextAlignment の値が同じ領域にないことを確認します。
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 無効なフッター画像の配置:<invalid_option> が提供されます。 – headerFooterInfo.​FooterImageAlignment プロパティに有効なオプションを指定します。
    • 無効なフッターテキストの配置:" + <invalid_option> + " が提供されます。 – headerFooterInfo.​footerTextAlignment プロパティに有効なオプションを指定します。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • フッター画像を取得できません。sysId:+<指定した値> – headerFooterInfo.​footerImageId に指定された sys_id が正確であることを確認します。
    • ヘッダー画像を取得できません。sysId:+<指定した値> – headerFooterInfo.​headerImageId に指定された sys_id が正確であることを確認します。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。
    • <URL> がホワイトリストに登録された URL にリストされていません。URL のホワイトリスト登録プロパティを確認してください:「glide.pdf.url.whitelisting.enabled」および「com.snc.pdf.whitelisted_urls」 – システムプロパティ glide.pdf.url.whitelisting.enabled が true に設定されている場合、com.snc.pdf.whitelisted_urls システムプロパティの [値] フィールドにリストされていない限り、PDF は URL コンテンツを処理しません。これらのプロパティは、システムプロパティ [sys_properties] テーブルにリストされます。

    データタイプ:文字列

    <Object>.request_id 変更プロデューサー要求レコードのSys_id。

    データタイプ:文字列

    次の例は、HTML を PDF に変換するタスクをキューに入れる方法を示しています。PDF には、添付ファイルを介して提供されるヘッダーとフッターが含まれています。変換が完了すると、「myPDF」という名前の PDF がインシデント [incident] テーブルのターゲットレコードに添付されます。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    //  (Option) get HTML from the description field of an incident record
    var gr = new GlideRecord("incident");
    var html;
    
    if (gr.get("<tableSysId>")) {
     html = gr.description.toString();
    }
    
    var hfInfo = new Object();
    hfInfo["HeaderImageAttachmentId"] = "<hdrImgAttSysId>";
    hfInfo["HeaderImageAlignment"] = "left";
    hfInfo["FooterImageAttachmentId"] = "<ftrImgAttSysId>";
    hfInfo["FooterImageAlignment"] = "TOP_CENTER";
    hfInfo["FooterText"] = "Sample Footer Message";
    hfInfo["PageSize"] = "A4";
    hfInfo["GeneratePageNumber"] = "false";
    hfInfo["TopOrBottomMargin"] = "36";
    hfInfo["LeftOrRightMargin"] = "24";
    
    var result = v.convertToPDFWithHeaderFooterAsync(html, "incident", "<targetTbl_sys_id>", "myPDF", hfInfo);
    gs.info(JSON.stringify(result));

    出力:

    {"message":"HTML to PDF Conversion is in progress.","request_id":"<sys_id>"}

    PDFGenerationAPI – fillDocumentFields(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName)

    編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。

    次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。
    PDFGenerationAPI には、さまざまなオプションを備えた追加の入力メソッドが用意されています。
    • fillDocumentFieldsAndFlatten()編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。
    • fillFieldsAndMergeSignature()編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。
    • getFilledDocumentWithSignatureAsBase64()編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。
    表 : 10. パラメーター
    名前 タイプ 説明
    fieldsMap オブジェクト オプション。PDF フィールド名と入力する値によるキー値マップ。getDocumentFields() メソッドを使用して、使用可能なフィールドのリストを取得します。
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    tableName 文字列 PDF が添付されるレコードを含むテーブルの名前。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    tableSysId 文字列 PDF が添付されるレコードの sys_id。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    pdfName 文字列 PDF に付ける名前。

    デフォルト:添付ファイル [sys_attachment] テーブル内の PDF の sys_id。

    表 : 11. 返される内容
    タイプ 説明
    オブジェクト 成功した場合は更新された PDF 添付ファイルの sys_id を含むオブジェクト、それ以外の場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 操作が成功した場合、入力された PDF の sys_id。ファイルは、添付ファイル [sys_attachment] テーブルにリストされます。

    データタイプ:文字列

    <Object>.message 成功またはエラーを確認するメッセージ。
    有効な値:
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、編集可能な PDF 内のフィールドに入力する方法を示しています。

    var fieldMap = new Object();
    fieldMap["Address"] = "Address value here";
    fieldMap["State"] = "State value here";
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFields(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName");
    gs.info(JSON.stringify(result));

    出力:

    {"attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI –fillDocumentFieldsAndFlatten(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName, オブジェクト flatten)

    編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。

    次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。
    PDFGenerationAPI には、さまざまなオプションを備えた追加の入力メソッドが用意されています。
    • fillDocumentFields()編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。
    • fillFieldsAndMergeSignature()編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。
    • getFilledDocumentWithSignatureAsBase64()編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。
    表 : 12. パラメーター
    名前 タイプ 説明
    fieldsMap オブジェクト オプション。PDF フィールド名と入力する値によるキー値マップ。getDocumentFields() メソッドを使用して、使用可能なフィールドのリストを取得します。
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    tableName 文字列 PDF が添付されるレコードを含むテーブルの名前。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    tableSysId 文字列 PDF が添付されるレコードの sys_id。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    pdfName 文字列 PDF に付ける名前。

    デフォルト:添付ファイル [sys_attachment] テーブル内の PDF の sys_id。

    flatten オブジェクト オプション。フィールドをフラット化すると、他のユーザーが情報を変更できないようにフィールドをロックできます。キーを「FlattenType」として指定し、フラット化オプションを文字列として指定します。
    有効な値:
    • donot_flatten - フィールドをフラット化しません。
    • partially_flatten - 変更されたフィールドのみをフラット化します。
    • fully_flatten - すべてのフィールドをフラット化します。

    デフォルト:fully_flatten

    {
      "FlattenType": "String" 
    }
    表 : 13. 返される内容
    タイプ 説明
    オブジェクト 成功した場合は更新された PDF 添付ファイルの sys_id を含むオブジェクト、それ以外の場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 操作が成功した場合、入力された PDF の sys_id。ファイルは、添付ファイル [sys_attachment] テーブルにリストされます。

    データタイプ:文字列

    <Object>.message 成功またはエラーを確認するメッセージ。
    有効な値:
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、フィールドに入力してフィールドを編集可能な PDF をフラット化する方法を示しています。

    var fieldMap = new Object();
    fieldMap["Last Name First Name Middle Initial"] = "Tuter Abel E.";
    fieldMap["Date of Birth"] = "08101952";
    fieldMap["US SSN"] = "111-22-9999";
    fieldMap["Address"] = "PO Box 344";
    fieldMap["City"] = "Jerome";
    fieldMap["State"] = "AZ";
    fieldMap["Zip"] = "86331";
    
    var flatten = new Object();
    flatten["FlattenType"] = "partially_flatten";
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillDocumentFieldsAndFlatten(fieldMap, "<attachmentSysId>", "<tableName>", "<tableSysId>", "pdfName", flatten);
    gs.info(JSON.stringify(result));

    出力:

    "attachment_id":"<sys_id>","message":"Request completed successfully.","status":"success"

    PDFGenerationAPI – fillFieldsAndMergeSignature(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName, PdfMergeSignRequestor requestor, オブジェクト flatten)

    編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。

    次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。
    PDFGenerationAPI には、さまざまなオプションを備えた追加の入力メソッドが用意されています。
    • fillDocumentFields()編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。
    • fillDocumentFieldsAndFlatten()編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。
    • getFilledDocumentWithSignatureAsBase64()編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。
    表 : 14. パラメーター
    名前 タイプ 説明
    fieldsMap オブジェクト オプション。PDF フィールド名と入力する値によるキー値マップ。getDocumentFields() メソッドを使用して、使用可能なフィールドのリストを取得します。
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    tableName 文字列 PDF が添付されるレコードを含むテーブルの名前。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    tableSysId 文字列 PDF が添付されるレコードの sys_id。この値は、添付ファイル [sys_attachment] テーブルにリストされている添付ファイルと同じ行にあります。
    pdfName 文字列 PDF に付ける名前。

    デフォルト:添付ファイル [sys_attachment] テーブル内の PDF の sys_id。

    requestor PdfMergeSign​Requestor pdfMergeSignRequestor から返された署名入力。
    flatten オブジェクト オプション。フィールドをフラット化すると、他のユーザーが情報を変更できないようにフィールドをロックできます。キーを「FlattenType」として指定し、フラット化オプションを文字列として指定します。
    有効な値:
    • donot_flatten - フィールドをフラット化しません。
    • partially_flatten - 変更されたフィールドのみをフラット化します。
    • fully_flatten - すべてのフィールドをフラット化します。

    デフォルト:fully_flatten

    {
      "FlattenType": "String" 
    }
    表 : 15. 返される内容
    タイプ 説明
    オブジェクト 成功した場合は更新された PDF 添付ファイルの sys_id を含むオブジェクト、それ以外の場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 操作が成功した場合、入力された PDF の sys_id。ファイルは、添付ファイル [sys_attachment] テーブルにリストされます。

    データタイプ:文字列

    <Object>.message 成功またはエラーを確認するメッセージ。
    有効な値:
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、デフォルト設定の署名でフィールドを入力してフィールドを完全にフラット化する方法を示しています。

    var fieldMap = new Object();
    fieldMap["Address_Salutation"] = "Address value here";
    
    var paramMap = new Object();
    paramMap["FlattenType"] = "partially_flatten";
    
    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<attachmentSysId>", "incident", "<tableSysId>", "filledPdf");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signatureSysId>");
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.fillFieldsAndMergeSignature(fieldMap, "<attachmentSysId>", "incident", "<tableSysId>", requestor, "filledPdf", paramMap);
    gs.info(JSON.stringify(result));
    出力:
    {"attachment_id":"5440d993dbed3010d66be1191396194e","message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – getDocumentFields(文字列 sysId)

    PDF ドキュメント内の編集可能なフィールドのリストを取得します。チェックするファイルを手動で開かなくても、PDF の編集可能なフィールドを一覧表示できます。

    表 : 16. パラメーター
    名前 タイプ 説明
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    表 : 17. 返される内容
    タイプ 説明
    オブジェクト 署名済み PDF の ID を含むオブジェクト。それ以外の場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.fields 要求が成功した場合、PDF の各フィールドの名前を含むリスト。

    データタイプ:文字列のアレイ

    "fields": ["field_name"]
    <Object>.message 成功またはエラーを確認するメッセージ。
    可能な値:
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、PDF 添付ファイルのフィールドを取得する方法を示しています。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFields("attachmentSysId");
    gs.info(JSON.stringify(result));
    

    出力:

    {"message":"Request completed successfully.","fields":["NP_formFillable","reset","print","1SSN","Signature.1","5sigDate","Check Box21"],"status":"success"}

    PDFGenerationAPI – getDocumentFieldsType(文字列 sysId)

    PDF ドキュメントから、一連の編集可能なフィールドのフィールドタイプを取得します。

    表 : 18. パラメーター
    名前 タイプ 説明
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    表 : 19. 返される内容
    タイプ 説明
    オブジェクト 成功した場合はそれぞれの PDF フィールドタイプを含むオブジェクト、失敗した場合はエラーメッセージ。
    {
      "fields_type": {Object},
      "message": "String",
      "status": "String"
    }
    <Object>.fields_type 成功した場合は指定した PDF 内の各フィールドをリスト表示するオブジェクト、失敗した場合はエラーメッセージ。

    データタイプ:オブジェクト

    "fields_type": {
      "<field type>": {Object},
    }
    <Object>.fields_type.​<field> 各フィールドのページ番号を含むオブジェクト。<field> の名前はフィールドのラベルを表します。たとえば、タイプを表す自動作成されたラベルである「SSN」などです。

    データタイプ:オブジェクト

    "<field>": { 
      "fieldsDetails": [Array], // Check boxes, radio buttons, choice boxes only
      "pageNumber": "String",
      "type": "String"
    }
    <Object>.fields_type.​<field>.fieldsDetails 選択肢フィールドのタイプの各オプションのフィールド名とそれに対応する値を含むオブジェクトのリスト。
    適用可能なタイプ:
    • チェックボックス
    • 選択ボックス
    • コンボボックス
    • 複数選択肢の選択ボックス

    データタイプ:アレイ

    "fieldsDetails": [ 
      "fieldName": "String",
      "value": "String"
    ]
    <Object>.fields_type.​<field>.fieldsDetails.fieldName 選択肢フィールドの名前。

    データタイプ:文字列

    <Object>.fields_type.​<field>.fieldsDetails.value 選択肢フィールドの値。

    データタイプ:文字列

    <Object>.fields_type.​<field>.pageNumber このフィールドに対応する PDF ページ番号。

    データタイプ:文字列

    <Object>.fields_type.​<field>.type PDF のフィールドタイプ。
    可能な値:
    • check_box
    • choice_box
    • combo_box
    • multi_select_choice_box
    • push_button
    • radio_button
    • signature
    • text

    データタイプ:文字列

    <Object>.message 成功またはエラーを確認するメッセージ。
    可能な値:
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、PDF 添付ファイルのフィールドタイプを取得する方法を示しています。結果には、分かりやすくするため手動で返されるものが含まれています。ここでは簡潔にするため短縮しています。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getDocumentFieldsType("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    出力:

    {"fields_type":{"1ADDLINE2.25":{"pageNumber":2,"type":"text"},"1ADDLINE2.24":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.23":{"pageNumber":2,"type":"text"},"1ADDLINE2.22":{"pageNumber":2,"type":"text"},
    "1ADDLINE2.11":{"pageNumber":2,"type":"text"},
    "Check Box1":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":2,"type":"check_box"},
    "4consentDate.6":{"pageNumber":4,"type":"text"},"4consentDate.7":{"pageNumber":4,"type":"text"},
    "3SSN.9":{"pageNumber":3,"type":"text"},"3SSN.8":{"pageNumber":3,"type":"text"},"3SSN.7":{"pageNumber":3,"type":"text"},
    "pageNumber":2,"type":"check_box"},"Check Box8":{"fieldsDetails":[{"fieldName":"Off"},{"fieldName":"yes"}],
    "4planAdminDate.8":{"pageNumber":4,"type":"text"},"4planAdminDate.7":{"pageNumber":4,"type":"text"},
    "1FirstName_ID.7":{"pageNumber":2,"type":"text"},
    "Check Box9":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.1":{"pageNumber":2,"type":"text"},"1LN.2":{"pageNumber":2,"type":"text"},
    "Check Box11":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.9":{"pageNumber":2,"type":"text"},
    "Check Box17":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "Check Box16":{"fieldsDetails":[{"fieldName":"Yes"}],"pageNumber":3,"type":"check_box"},
    "1LN.7":{"pageNumber":2,"type":"text"},"Check Box19":{"fieldsDetails":[{"fieldName":"Yes"}],
    "1LN.8":{"pageNumber":2,"type":"text"},"Check Box18":{"fieldsDetails":[{"fieldName":"Yes"}],
    "print":{"pageNumber":2,"type":"push_button"},"4planAdministrator.1":{"pageNumber":4,"type":"text"},
    "1TaxID.9":{"pageNumber":2,"type":"text"},"4SSN.1":{"pageNumber":3,"type":"text"},"4SSN.2":{"pageNumber":3,"type":"text"},
    "Signature.1":{"pageNumber":4,"type":"text"},"1ZIP.2":{"pageNumber":2,"type":"text"},"1ZIP.3":{"pageNumber":2,"type":"text"},
    "message":"Request completed successfully.","status":"success"}

    PDFGenerationAPI – getFilledDocumentWithSignatureAsBase64(オブジェクト fieldsMap, 文字列 sysId, PdfMergeSignRequestor 要求者, オブジェクト flatten)

    編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。

    Base64 エンコードを使用すると、バイナリ文字の構文を損なうことなく、PDF を HTML や JSON などのテキストドキュメント内の文字列として出力できます。

    次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。
    PDFGenerationAPI には、さまざまなオプションを備えた追加の入力メソッドが用意されています。
    • fillDocumentFields()編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。
    • fillDocumentFieldsAndFlatten()編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。
    • fillFieldsAndMergeSignature()編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。
    表 : 20. パラメーター
    名前 タイプ 説明
    fieldsMap オブジェクト オプション。PDF フィールド名と入力する値によるキー値マップ。getDocumentFields() メソッドを使用して、使用可能なフィールドのリストを取得します。
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    requestor PdfMergeSign​Requestor pdfMergeSignRequestor から返された署名入力。
    flatten オブジェクト オプション。フィールドをフラット化すると、他のユーザーが情報を変更できないようにフィールドをロックできます。キーを「FlattenType」として指定し、フラット化オプションを文字列として指定します。
    有効な値:
    • donot_flatten - フィールドをフラット化しません。
    • partially_flatten - 変更されたフィールドのみをフラット化します。
    • fully_flatten - すべてのフィールドをフラット化します。

    デフォルト:fully_flatten

    {
      "FlattenType": "String" 
    }
    表 : 21. 返される内容
    タイプ 説明
    文字列 成功すると、Base64 形式に変換された PDF が添付ファイルテーブル [sys_attachment] に追加されます。コンテンツには、フィールドと署名が入力された PDF 添付ファイルが反映されます。flatten パラメーターで代替のフラット化オプションが指定されていない場合、フィールドは編集できません。
    <Object>.message 成功またはエラーを確認するメッセージ。
    有効な値:
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • 指定されたターゲットレコード [<tableName> -<targetTableSysId>] は存在しません。ターゲットテーブル sys_id が指定されたテーブルにありません。レコードの正しいテーブル名が含まれていることを確認してください。
    • 入力する PDF に関連付けられたフォームがありません。attachmentSysId:<sys_id>
    • 指定された名前の編集可能なフィールドはありません。確認してもう一度お試しください。フィールド名:<field names>
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、PDF 添付ファイル内の 2 つのフィールドをロードし、フィールドをフラット化して PDF を Base64 形式に変換する方法を示しています。

    var mymap = new Object();
    mymap["City"] = "City value here";
    mymap["State"] = "XX";
    
    // create a requestor
    var requestor = new sn_pdfgeneratorutils.PdfMergeSignRequestor;
    requestor.createRequest("<sys_id>", "tableName", "<tableSysId>", "pdfName");
    requestor.addSignatureMapping(6, 40, 50, 188, 44, "<signImgSysId>");
    var processedRequestObj = requestor.processRequest();
    
    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    
    var result = v.getFilledDocumentWithSignatureAsBase64(mymap, "<attachmentSysId>", processedRequestObj);
    gs.info (JSON.stringify(result));

    PDFGenerationAPI – getPdfPageSizes(文字列 sysId)

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

    表 : 22. パラメーター
    名前 タイプ 説明
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    表 : 23. 返される内容
    タイプ 説明
    オブジェクト 成功した場合は各ページのサイズを含むオブジェクト、失敗した場合はエラーメッセージ。
    {
      "pages_size": {Object},
      "message": "String",
      "status": "String"
    }
    <Object>.pages_size 操作が成功した場合、各 PDF ページの幅と高さがポイント単位で表示されます。ページ番号は文字列として返され、測定値は数値データタイプとして返されます。

    データタイプ:オブジェクト

    "pages_size": {"<page number>":[<width>,<height>]}
    <Object>.message 成功またはエラーを確認するメッセージ。
    可能な値:
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、PDF 添付ファイルの各ページの幅と高さを表示する方法を示しています。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.getPdfPageSizes ("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    出力:

    {"pages_size":{"1":[612,792],"2":[612,792],"3":[612,792],"4":[612,792],"5":[612,792]},"message":"Request completed successfully.","status":"success"}
    

    PDFGenerationAPI – isDocumentFillable(文字列 sysId)

    PDF ドキュメントに編集可能なフィールドが含まれているかどうかを確認します。

    表 : 24. パラメーター
    名前 タイプ 説明
    sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    表 : 25. 返される内容
    タイプ 説明
    オブジェクト 成功した場合は各ページのサイズを含むオブジェクト、失敗した場合はエラーメッセージ。
    {
      "document_editable": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​document_editable 操作が成功した場合、ドキュメントが編集可能かどうかを示すフラグ。
    有効な値:
    • true:PDF ドキュメントに編集可能なフィールドがあります。
    • false:PDF ドキュメントに編集可能なフィールドはありません。

    データタイプ:文字列として指定されたブーリアン値

    <Object>.message 成功またはエラーを確認するメッセージ。
    可能な値:
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、PDF ドキュメントのフィールドが編集可能かどうかを判断する方法を示しています。

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = v.isDocumentFillable("<attachmentSysId>");
    gs.info(JSON.stringify(result));
    

    出力:

    {"message":"Request completed successfully.","document_editable":"true","status":"success"}

    PDFGenerationAPI – redact(オブジェクト inputJson)

    指定された矩形座標、検索キーワード、またはその両方に基づいて PDF ドキュメントに編集を適用します。元の PDF の編集コピーが添付ファイル [sys_attachment] テーブルに生成されます。

    注:
    • 編集結果には、編集することを意図していないテキストを上書きする予期しない白い編集されたテキストブロックが含まれる場合があります。このイベントが発生した場合は、 highlightedSections プロパティまたは PDF 生成ユーティリティプラグインを使用して、編集するコンテンツを手動で選択できます。詳細については、「Redact data from documents」を参照してください。
    • このメソッドは、JBIG2 画像を含む PDF のマスキングをサポートしていません。
    表 : 26. パラメーター
    名前 タイプ 説明
    inputJson オブジェクト マスキングする PDF とそのコンテンツを識別します。
    {
      "sysId": "String",
      "highlightedSections": [Array],
      "searchedKeywords": [Array]
    }
    inputJson.sysId 文字列 添付ファイル [sys_attachment] テーブル内の PDF の sys_id。
    inputJson。ハイライトされたセクション オブジェクトのアレイ オブジェクトとして提供される矩形座標のリスト。各座標は、各ページで編集されるコンテンツの場所を表します。
    searchedKeywords プロパティを含める場合は省略可能です。
    [
       {
         "pageNumber": Number,
         "x": Number,
         "y": Number,
         "width": Number,
         "height": Number
       }
    ]
    inputJson。ハイライト表示されたセクション。ページ番号 番号 編集対象として選択するコンテンツを含む PDF ページ番号。
    inputJson。ハイライト表示されたセクション。x 番号 PDF 上の編集矩形の X 軸 (水平位置) (ポイント単位)。PDF ページの左下隅の値は 0 です。例えば、値を 306 にすると、長方形はレターサイズの PDF ページの水平方向の中心にほぼ配置されます。
    inputJson。ハイライト表示されたセクション。y 番号 PDF 上の編集矩形の Y 軸 (垂直位置) (ポイント単位)。PDF ページの左下隅の値は 0 です。例えば、値を 396 にすると、長方形はレターサイズの PDF ページの垂直方向の中央付近に配置されます。
    inputJson。ハイライト表示されたセクション。幅 番号 編集矩形の幅はポイント単位です。この値により、x 軸と y 軸が交差する左下の点から水平方向に四角形のサイズが大きくなります。
    inputJson。ハイライト表示されたセクション。高さ 番号 編集矩形の高さ (ポイント単位)。この値により、x 軸と y 軸が交差する左下の点から矩形のサイズが垂直に大きくなります。
    inputJson。searchedKeywords アレイ 編集するテキストの検索に使用する 1 つ以上の文字列のリスト。編集された長方形のサイズは、結果としてブロックされるテキストの高さと幅と一致します。
    highlightedSections プロパティを含める場合は省略可能です。
    注:
    場合によっては、「 items:」「PDF. 」などの特殊文字や句読点を含むテキスト文字列は編集されません。または、文字列から文字を削除したり、領域をハイライト表示してテキストを削除したりすることもできます。
    表 : 27. 戻り値
    タイプ 説明
    オブジェクト 成功した場合は更新された PDF 添付ファイルの sys_id を含むオブジェクト、それ以外の場合はエラーメッセージ。
    {
      "attachment_id": "String",
      "message": "String",
      "status": "String"
    }
    <Object>.​attachment_id 操作が成功した場合、入力された PDF の sys_id。ファイルは、添付ファイル [sys_attachment] テーブルにリストされます。

    データタイプ:文字列

    <Object>.message 成功またはエラーを確認するメッセージ。
    可能な値:
    • この形式を解析できません:PDF に埋め込まれた画像を処理できません。PDF には、JBIG2 画像など、サポートされていない形式の画像が 1 つ以上含まれています。
    • ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。
    • sys_id [{0}] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。
    • sys_id [{0}] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。
    • 要求が正常に完了しました。操作は成功しました。
    • 未定義 – 指定された sys_id が存在しないか、PDF 添付ファイルではありません。

    データタイプ:文字列

    <Object>.status 操作が成功したかどうかを示すステータス。
    可能な値:
    • success - 操作は成功しました。
    • failure – 操作は成功しませんでした。message は詳細を示します。

    データタイプ:文字列

    次の例は、四角形とキーワードで編集する方法を示しています。編集された PDF では、2 ページで選択された領域がブロックされます。文字列「23」は、見つかったすべてのページで編集されます。

    var pdfRequest = {
      sysId: 'e4b3ae35fc128210f877789781ea59f3',
      highlightedSections: [
        {
          "pageNumber": 2,
          "x": 261.75,
          "y": 480,
          "width": 21,
          "height": 14.25
        },
        {
          "pageNumber": 2,
          "x": 249,
          "y": 390.75,
          "width": 63.75,
          "height": 15.75
        }
        // Add more coordinates as needed
      ],
      searchedKeywords: ['23']
    };
    
    // Convert the JSON object to a string
    var jsonRequest = JSON.stringify(pdfRequest);
    gs.info('JSON Request: ' + jsonRequest + '\n');
    
    var PDFRedaction = new sn_pdfgeneratorutils.PDFGenerationAPI;
    var result = PDFRedaction.redact(jsonRequest);
    gs.info(JSON.stringify(result));

    出力:

    JSON Request: {"sysId":"e4b3ae35fc128210f877789781ea59f3","highlightedSections":[{"pageNumber":2,"x":261.75,"y":480,"width":21,"height":14.25},{"pageNumber":2,"x":249,"y":390.75,"width":63.75,"height":15.75}],"searchedKeywords":[23]}
    
    {"attachment_id":"1744ae35fc128210f877789781ea59fc","message":"Request completed successfully.","status":"success"}