---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

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

# PDFGenerationAPI - スコープ付き、グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：62分

PDFGenerationAPI は、PDF 変換と PDF フィールドの処理をサポートします。
この API は、 ServiceNow PDF Generation Utilities プラグイン (com.snc.apppdfgenerator) の一部であり、 `sn_pdfgeneratorutils` 名前空間内で提供されます。このプラグインはデフォルトでは有効になっています。  
これらのメソッドは、カタログ以外のアイテムで作成されたドキュメントにも使用できます。このクラスのメソッドによって、次のタスクが可能になります。

* HTML 文字列から PDF を動的に生成してレコードに添付する
  * [PDFGenerationAPI -- convertToPDF(文字列 html, 文字列 targetTable, 文字列 targetTableSysId, 文字列 pdfName, 文字列 fontFamilySysId, オブジェクト documentConfiguration)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-convertToPDF_S_S_S_S "HTML 文字列を PDF ドキュメントに変換します。")
  * [PDFGenerationAPI -- convertToPDFWithHeaderFooter(文字列 html, 文字列 targetTable, 文字列 targetTableSysId, 文字列 pdfName, オブジェクト headerFooterInfo, 文字列 fontFamilySysId, オブジェクト documentConfiguration)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-convertToPDFWithHdrFtr_S_S_S_S_O "HTML 文字列を、ヘッダーとフッターのコンテンツを含む PDF に変換します。")
  {#PDFGenerationAPIBothAPI__ul_ocm_vpr_tbc}
* PDF 内のフィールドに入力する
  * [PDFGenerationAPI --fillDocumentFieldsAndFlatten(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName, オブジェクト flatten)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocFieldsFlatten_O_S_S_S_S_O "編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。")
  * [PDFGenerationAPI -- fillDocumentFields(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocumentFields_O_S_S_S_S "編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。")
  * [PDFGenerationAPI -- isDocumentFillable(文字列 sysId)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-isDocumentFillable_S "PDF ドキュメントに編集可能なフィールドが含まれているかどうかを確認します。")
  {#PDFGenerationAPIBothAPI__ul_kvf_spr_tbc}
* PDF に署名する
  * [PDFGenerationAPI -- fillFieldsAndMergeSignature(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName, PdfMergeSignRequestor requestor, オブジェクト flatten)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillFieldsMergeSig_O_S_S_S_S_O_O "編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。")
  * [PDFGenerationAPI -- getFilledDocumentWithSignatureAsBase64(オブジェクト fieldsMap, 文字列 sysId, PdfMergeSignRequestor 要求者, オブジェクト flatten)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getFilDocWithSigAsBase64_O_S_O_O "編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。")
  {#PDFGenerationAPIBothAPI__ul_xzr_frr_tbc}
* 塗りつぶされたフィールドの編集をフラット化または部分的にフラット化として制限 -- [PDFGenerationAPI --fillDocumentFieldsAndFlatten(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName, オブジェクト flatten)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocFieldsFlatten_O_S_S_S_S_O "編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。")
* PDF のページサイズとフィールドデータの取得
  * [PDFGenerationAPI -- getPdfPageSizes(文字列 sysId)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getPdfPageSizes_S "PDF ドキュメントのページサイズを取得します。")
  * [PDFGenerationAPI -- getDocumentFieldsType(文字列 sysId)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFieldsType_S "PDF ドキュメントから、一連の編集可能なフィールドのフィールドタイプを取得します。")
  * [PDFGenerationAPI -- getDocumentFields(文字列 sysId)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFields_S "PDF ドキュメント内の編集可能なフィールドのリストを取得します。チェックするファイルを手動で開かなくても、PDF の編集可能なフィールドを一覧表示できます。")
  {#PDFGenerationAPIBothAPI__ul_e2p_ypr_tbc}
* PDFで情報を編集-- [PDFGenerationAPI -- redact(オブジェクト inputJson)](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-redact_O "指定された矩形座標、検索キーワード、またはその両方に基づいて PDF ドキュメントに編集を適用します。元の PDF の編集済みコピーが添付ファイル [sys_attachment] テーブルに生成されます。")
{#PDFGenerationAPIBothAPI__ul_csg_2vl_l4b}  
関連 API：

* [PdfMergeSignRequestor](https://servicenow-prod.fluidtopics.net/N3a3g_dFtSNNiD~UVnibnA#PdfMergeSignRequestorBothAPI "PdfMergeSignRequestor API には、署名を表す画像を PDF ドキュメントに追加するメソッドが用意されています。")
* [SVGToPDFConversionAPI](https://servicenow-prod.fluidtopics.net/fq6fpRN7~506V5V9VK9n_w#SVGToPDFConversionAPBothAPI "SVGToPDFConversionAPI は、SVG を PDF に追加したり、SVG を PDF に変換したりできるメソッドを提供します。")

## PDFGenerationAPI -- PDFGenerationAPI() {#ariaid-title2}

新しい PDFGenerationAPI オブジェクトをインスタンス化します。
{#P-PDFGenerationAPI__table_twm_hjk_34b__entry__3}

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

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

    var v = new sn_pdfgeneratorutils.PDFGenerationAPI;

## PDFGenerationAPI -- convertToPDF(文字列 html, 文字列 targetTable, 文字列 targetTableSysId, 文字列 pdfName, 文字列 fontFamilySysId, オブジェクト documentConfiguration) {#ariaid-title3}

HTML 文字列を PDF ドキュメントに変換します。
この方法では、ページサイズA4 -- 595 × 842ポイントを使用してPDFを作成します。このサイズを超えると、コンテンツは切り捨てられます。

ページサイズ、向き、ページ番号などの追加設定を含む PDF を生成するには、 [convertToPDFWithHeaderFooter()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-convertToPDFWithHdrFtr_S_S_S_S_O "HTML 文字列を、ヘッダーとフッターのコンテンツを含む PDF に変換します。") を使用します。
{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b__entry__3}{#P-convertToPDF_S_S_S_S__api_pdfgen_parm_fill_tableN_desc}

| 名前 | タイプ | 説明 |
|-|-|-|
| 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\] テーブルからのものです。 デフォルト：なし |
| documentConfiguration | オブジェクト | オプション。目次の構成とページ番号の構成を含むオブジェクト。 {​ "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.toc_config | 文字列 | オプション。PDF に使用する目次構成の sys_id。この sys_id は、目次構成 \[doc_toc_config\] テーブルからのものです。 デフォルト：なし |
| documentConfiguration.page_number_config | 文字列 | オプション。PDF に使用するページ番号構成の sys_id。この sys_id はページ番号構成 \[doc_page_number_config\] テーブルからのものです。 デフォルト：なし |
[表 : 2. パラメーター]

{#P-convertToPDF_S_S_S_S__table_sj4_p5j_34b} {#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b__entry__2}{#P-convertToPDF_S_S_S_S__row_pdfgen_ret_msgCnv}

| タイプ | 説明 |
|-|-|
| オブジェクト | 変換に成功した場合は 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 添付ファイルではありません。 {#P-convertToPDF_S_S_S_S__ul_zv2_wq3_k4b} データタイプ：文字列 |
| \<Object\>.request_id | 変更プロデューサー要求レコードの sys_id。 データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-convertToPDF_S_S_S_S__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 3. 返される内容]

{#P-convertToPDF_S_S_S_S__table_tj4_p5j_34b}  
次の例は、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 -- convertToPDFWithHeaderFooter(文字列 html, 文字列 targetTable, 文字列 targetTableSysId, 文字列 pdfName, オブジェクト headerFooterInfo, 文字列 fontFamilySysId, オブジェクト documentConfiguration) {#ariaid-title4}

HTML 文字列を、ヘッダーとフッターのコンテンツを含む PDF に変換します。
このメソッドを使用して、次のページ設定で PDF を生成します。

* ヘッダーとフッターの情報
* マージンのサイズ
* 向き
* 列挙
* ページサイズ
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_iqx_3xc_l4b}
{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b__entry__3}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__api_pdfgen_parm_fill_tableN_desc}

| 名前 | タイプ | 説明 |
|-|-|-|
| 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：フッターの右上の領域に画像を配置します。 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_ezt_f4c_l4b} |
| headerFooterInfo.​FooterImageAttachmentId | 文字列 | 添付ファイル \[sys_attachment\] テーブル内のフッター画像の sys_id。ファイルタイプがインスタンスでサポートされているかどうかを確認するには、\[システムのプロパティ\] \> \[セキュリティ\] に移動し、\[添付可能なファイル拡張子のリスト (カンマ区切り)\] フィールドにリストされているかどうかを確認します。 |
| headerFooterInfo.​FooterImageHeight | 文字列 | フッター画像の高さ。 デフォルト：50 ポイント |
| headerFooterInfo.​FooterText | 文字列 | PDF の各ページの下部に配置するフッターテキスト。 |
| headerFooterInfo.​FooterTextAlignment | 文字列 | フッター内のテキストの位置を設定します。この値が headerFooterInfo.FooterImageAlignment で指定された領域と一致も競合もしていないことを確認してください。 有効な値： * BOTTOM_CENTER：フッターの中央下部にテキストを配置します。 * BOTTOM_LEFT:フッターの左下の領域にテキストを配置します。 * BOTTOM_RIGHT：フッターの右下の領域にテキストを配置します。 * TOP_CENTER：フッターの中央上部にテキストを配置します。 * TOP_LEFT：フッターの左上の領域にテキストを配置します。 * TOP_RIGHT：フッターの右上の領域にテキストを配置します。 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lfd_mdd_l4b} |
| headerFooterInfo.​GeneratePageNumber | 文字列 | PDF のページ番号を生成するかどうかを示すフラグ。 有効な値： * true：ページ番号を生成します。 * false：ページ番号を生成しません。 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zlg_4cp_k4b} デフォルト：true |
| headerFooterInfo.​HeaderImageAlignment | 文字列 | ヘッダー内の画像の位置を設定します。 有効な値： * center：ヘッダーの中央に画像を配置します。 * left：ヘッダーの左側に画像を配置します。 * right：ヘッダーの右側に画像を配置します。 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_qjq_npc_l4b} |
| headerFooterInfo.​HeaderImageAttachmentId | 文字列 | 添付ファイル \[sys_attachment\] テーブル内のヘッダー画像の sys_id。ファイルタイプがインスタンスでサポートされているかどうかを確認するには、\[システムのプロパティ\] \> \[セキュリティ\] に移動し、\[添付可能なファイル拡張子のリスト (カンマ区切り)\] フィールドにリストされているかどうかを確認します。 |
| headerFooterInfo.​HeaderImageHeight | 文字列 | ヘッダー画像の高さ。 デフォルト：50 ポイント |
| headerFooterInfo.​LeftOrRightMargin | 文字列 | 左右のマージンのサイズ。ページの左側または右側に配置すると、ヘッダーとフッターの詳細がこの領域に配置されます。 デフォルト：36 ポイント |
| headerFooterInfo.​PageOrientation | 文字列 | ページの向き。 有効な値： * PORTRAIT (縦向き) * LANDSCAPE (横向き) {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_lyr_qyc_l4b} デフォルト：Portrait (縦向き) |
| headerFooterInfo.​PageSize | 文字列 | ドキュメントのページサイズです。 有効な値： * A4：595 x 842 ポイント * LETTER：612 x 792 ポイント * LEDGER：792 x 1224 ポイント {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_dml_q2p_k4b} ページサイズを超えると、コンテンツは切り捨てられます。 |
| headerFooterInfo.​TopOrBottomMargin | 文字列 | 上下のマージンのサイズ。ヘッダーとフッターの詳細がこの領域に配置されます。 デフォルト：72 ポイント |
| fontFamilySysId | 文字列 | オプション。PDF に使用するフォントファミリーの sys_id。この sys_id は、PDF 生成フォントファミリ \[sys_pdf_generation_font_family\] テーブルからのものです。 デフォルト：なし |
| documentConfiguration | オブジェクト | オプション。目次の構成とページ番号の構成を含むオブジェクト。 {​ "toc_config" : "String",​ "page_number_config": "String"​ }​ |
| documentConfiguration.toc_config | 文字列 | オプション。PDF に使用する目次構成の sys_id。この sys_id は、目次構成 \[doc_toc_config\] テーブルからのものです。 デフォルト：なし |
| documentConfiguration.page_number_config | 文字列 | オプション。PDF に使用するページ番号構成の sys_id。この sys_id はページ番号構成 \[doc_page_number_config\] テーブルからのものです。 デフォルト：なし |
[表 : 4. パラメーター]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_hmj_q5j_34b} {#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b__entry__2}{#P-convertToPDFWithHdrFtr_S_S_S_S_O__row_pdfgen_ret_msgCnv}

| タイプ | 説明 |
|-|-|
| オブジェクト | 変換に成功した場合は 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 に正常に変換されました。 * フッター画像の配置とテキストの配置を次の同じ位置で同じ領域に置くことはできません: \<footerImageAlignment value\> -- headerFooterInfo.FooterImageAlignment と headerFooterInfo.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 添付ファイルではありません。 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_zv2_wq3_k4b} データタイプ：文字列 |
| \<Object\>.request_id | 変更プロデューサー要求レコードの sys_id。 データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-convertToPDFWithHdrFtr_S_S_S_S_O__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 5. 返される内容]

{#P-convertToPDFWithHdrFtr_S_S_S_S_O__table_tj4_p5j_34b}  
次の例は、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 -- fillDocumentFields(オブジェクト fieldsMap, 文字列 sysId, 文字列 tableName, 文字列 tableSysId, 文字列 pdfName) {#ariaid-title5}

編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。
次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-isDocumentFillable_S "PDF ドキュメントに編集可能なフィールドが含まれているかどうかを確認します。")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFields_S "PDF ドキュメント内の編集可能なフィールドのリストを取得します。チェックするファイルを手動で開かなくても、PDF の編集可能なフィールドを一覧表示できます。")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFieldsType_S "PDF ドキュメントから、一連の編集可能なフィールドのフィールドタイプを取得します。")
{#P-fillDocumentFields_O_S_S_S_S__ul_e1m_kpj_l4b}  
PDFGenerationAPI は、さまざまなオプションを持つ追加の塗りつぶしメソッドを提供します。

* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocFieldsFlatten_O_S_S_S_S_O "編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillFieldsMergeSig_O_S_S_S_S_O_O "編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getFilDocWithSigAsBase64_O_S_O_O "編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。") -- 編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。
{#P-fillDocumentFields_O_S_S_S_S__ul_lyz_lft_l4b}
{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b__entry__3}{#P-fillDocumentFields_O_S_S_S_S__ph_api_pdfgen_parm_attIDesc}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblName}{#P-fillDocumentFields_O_S_S_S_S__entry-api-pdfgen-tblID}

| 名前 | タイプ | 説明 |
|-|-|-|
| 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。 |
[表 : 6. パラメーター]

{#P-fillDocumentFields_O_S_S_S_S__table_ohl_lzj_34b} {#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b__entry__2}{#P-fillDocumentFields_O_S_S_S_S__desc-fill-only}{#P-fillDocumentFields_O_S_S_S_S__desc_pdfgen_ret_attID_Fill}

| タイプ | 説明 |
|-|-|
| オブジェクト | 成功した場合は更新された 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 添付ファイルではありません。 {#P-fillDocumentFields_O_S_S_S_S__ul_eln_fwk_l4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-fillDocumentFields_O_S_S_S_S__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 7. 返される内容]

{#P-fillDocumentFields_O_S_S_S_S__table_phl_lzj_34b}  
次の例は、編集可能な 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) {#ariaid-title6}

編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。
次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-isDocumentFillable_S "PDF ドキュメントに編集可能なフィールドが含まれているかどうかを確認します。")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFields_S "PDF ドキュメント内の編集可能なフィールドのリストを取得します。チェックするファイルを手動で開かなくても、PDF の編集可能なフィールドを一覧表示できます。")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFieldsType_S "PDF ドキュメントから、一連の編集可能なフィールドのフィールドタイプを取得します。")
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI は、さまざまなオプションを持つ追加の塗りつぶしメソッドを提供します。

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocumentFields_O_S_S_S_S "編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillFieldsMergeSig_O_S_S_S_S_O_O "編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getFilDocWithSigAsBase64_O_S_O_O "編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。") -- 編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_lyz_lft_l4b}
{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b__entry__3}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__ph_api_pdfgen_parm_attIDesc}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblName}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__entry-api-pdfgen-tblID}

| 名前 | タイプ | 説明 |
|-|-|-|
| 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 - すべてのフィールドをフラット化します。 {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_mwn_5wc_k4b} デフォルト：fully_flatten { "FlattenType": "String" } |
[表 : 8. パラメーター]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_xp4_thk_34b} {#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b__entry__2}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc-fill-only}{#P-fillDocFieldsFlatten_O_S_S_S_S_O__desc_pdfgen_ret_attID_Fill}

| タイプ | 説明 |
|-|-|
| オブジェクト | 成功した場合は更新された 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 添付ファイルではありません。 {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_eln_fwk_l4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-fillDocFieldsFlatten_O_S_S_S_S_O__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 9. 返される内容]

{#P-fillDocFieldsFlatten_O_S_S_S_S_O__table_phl_lzj_34b}  
次の例は、フィールドに入力してフィールドを編集可能な 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) {#ariaid-title7}

編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。
次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-isDocumentFillable_S "PDF ドキュメントに編集可能なフィールドが含まれているかどうかを確認します。")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFields_S "PDF ドキュメント内の編集可能なフィールドのリストを取得します。チェックするファイルを手動で開かなくても、PDF の編集可能なフィールドを一覧表示できます。")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFieldsType_S "PDF ドキュメントから、一連の編集可能なフィールドのフィールドタイプを取得します。")
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI は、さまざまなオプションを持つ追加の塗りつぶしメソッドを提供します。

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocumentFields_O_S_S_S_S "編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。
* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocFieldsFlatten_O_S_S_S_S_O "編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。
* [getFilledDocumentWithSignatureAsBase64()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getFilDocWithSigAsBase64_O_S_O_O "編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。") -- 編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_lyz_lft_l4b}
{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b__entry__3}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ph_api_pdfgen_parm_attIDesc}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblName}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__entry-api-pdfgen-tblID}

| 名前 | タイプ | 説明 |
|-|-|-|
| 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](https://servicenow-prod.fluidtopics.net/N3a3g_dFtSNNiD~UVnibnA#PdfMergeSignRequestorBothAPI "PdfMergeSignRequestor API には、署名を表す画像を PDF ドキュメントに追加するメソッドが用意されています。") | pdfMergeSignRequestor から返された署名入力。 |
| flatten | オブジェクト | オプション。フィールドをフラット化すると、他のユーザーが情報を変更できないようにフィールドをロックできます。キーを「FlattenType」として指定し、フラット化オプションを文字列として指定します。 有効な値： * donot_flatten - フィールドをフラット化しません。 * partially_flatten - 変更されたフィールドのみをフラット化します。 * fully_flatten - すべてのフィールドをフラット化します。 {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_mwn_5wc_k4b} デフォルト：fully_flatten { "FlattenType": "String" } |
[表 : 10. パラメーター]

{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_xp4_thk_34b} {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__table_anm_5hk_34b__entry__2}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc-fill-only}{#P-fillFieldsMergeSig_O_S_S_S_S_O_O__desc_pdfgen_ret_attID_Fill}

| タイプ | 説明 |
|-|-|
| オブジェクト | 成功した場合は更新された 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 添付ファイルではありません。 {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_eln_fwk_l4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-fillFieldsMergeSig_O_S_S_S_S_O_O__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 11. 返される内容]

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

    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) {#ariaid-title8}

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

| 名前 | タイプ | 説明 |
|-|-|-|
| sysId | 文字列 | 添付ファイル \[sys_attachment\] テーブル内の PDF の sys_id。 |
[表 : 12. パラメーター]

{#P-getDocumentFields_S__table_hmj_q5j_34b} {#P-getDocumentFields_S__table_v1y_g3k_34b__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 署名済み 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 添付ファイルではありません。 {#P-getDocumentFields_S__ul_qlv_5cv_j4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-getDocumentFields_S__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 13. 返される内容]

{#P-getDocumentFields_S__table_v1y_g3k_34b}  
次の例は、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) {#ariaid-title9}

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

| 名前 | タイプ | 説明 |
|-|-|-|
| sysId | 文字列 | 添付ファイル \[sys_attachment\] テーブル内の PDF の sys_id。 |
[表 : 14. パラメーター]

{#P-getDocumentFieldsType_S__table_hmj_q5j_34b} {#P-getDocumentFieldsType_S__table_jxx_whk_34b__entry__2}{#P-getDocumentFieldsType_S__api_pdfgen_ret_msg}

| タイプ | 説明 |
|-|-|
| オブジェクト | 成功した場合はそれぞれの 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 を指定してください。{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_hdrNF} * sys_id \[{0}\] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_failScan} * sys_id \[{0}\] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_pendScan} * 要求が正常に完了しました。操作は成功しました。{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_succ} * 未定義 -- 指定された sys_id が存在しないか、PDF 添付ファイルではありません。{#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__api_pdfgen_reg_msg_und} {#P-getDocumentFieldsType_S__ul_qlv_5cv_j4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-getDocumentFieldsType_S__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 15. 返される内容]

{#P-getDocumentFieldsType_S__table_jxx_whk_34b}  
次の例は、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) {#ariaid-title10}

編集可能な PDF のフィールドに入力し、画像を作成して、それを Base64 でエンコードされた PDF に変換します。
Base64 エンコードを使用すると、バイナリ文字の構文を損なうことなく、PDF を HTML や JSON などのテキストドキュメント内の文字列として出力できます。  
次のメソッドを使用して、PDF が入力可能かどうかを判断し、フィールド情報を取得します。

* [isDocumentFillable()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-isDocumentFillable_S "PDF ドキュメントに編集可能なフィールドが含まれているかどうかを確認します。")
* [getDocumentFields()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFields_S "PDF ドキュメント内の編集可能なフィールドのリストを取得します。チェックするファイルを手動で開かなくても、PDF の編集可能なフィールドを一覧表示できます。")
* [getDocumentFieldsType()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-getDocumentFieldsType_S "PDF ドキュメントから、一連の編集可能なフィールドのフィールドタイプを取得します。")
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_e1m_kpj_l4b}  
PDFGenerationAPI は、さまざまなオプションを持つ追加の塗りつぶしメソッドを提供します。

* [fillDocumentFields()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocumentFields_O_S_S_S_S "編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、指定されたレコードに添付します。
* [fillDocumentFieldsAndFlatten()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillDocFieldsFlatten_O_S_S_S_S_O "編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、データフィールドをフラット化して、指定されたレコードに添付します。
* [fillFieldsAndMergeSignature()](https://servicenow-prod.fluidtopics.net/9ufOFJU_5cj4kDQcQHCi3w#P-fillFieldsMergeSig_O_S_S_S_S_O_O "編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。") -- 編集可能な PDF のフィールドに入力し、署名画像を追加して、データフィールドをフラット化し、指定されたレコードに添付します。
{#P-getFilDocWithSigAsBase64_O_S_O_O__ul_lyz_lft_l4b}
{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b__entry__3}{#P-getFilDocWithSigAsBase64_O_S_O_O__ph_api_pdfgen_parm_attIDesc}

| 名前 | タイプ | 説明 |
|-|-|-|
| fieldsMap | オブジェクト | オプション。PDF フィールド名と入力する値によるキー値マップ。getDocumentFields() メソッドを使用して、使用可能なフィールドのリストを取得します。 |
| sysId | 文字列 | 添付ファイル \[sys_attachment\] テーブル内の PDF の sys_id。 |
| requestor | [PdfMergeSign​Requestor](https://servicenow-prod.fluidtopics.net/N3a3g_dFtSNNiD~UVnibnA#PdfMergeSignRequestorBothAPI "PdfMergeSignRequestor API には、署名を表す画像を PDF ドキュメントに追加するメソッドが用意されています。") | pdfMergeSignRequestor から返された署名入力。 |
| flatten | オブジェクト | オプション。フィールドをフラット化すると、他のユーザーが情報を変更できないようにフィールドをロックできます。キーを「FlattenType」として指定し、フラット化オプションを文字列として指定します。 有効な値： * donot_flatten - フィールドをフラット化しません。 * partially_flatten - 変更されたフィールドのみをフラット化します。 * fully_flatten - すべてのフィールドをフラット化します。 {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_mwn_5wc_k4b} デフォルト：fully_flatten { "FlattenType": "String" } |
[表 : 16. パラメーター]

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_w4w_xhk_34b} {#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 成功すると、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 添付ファイルではありません。 {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_eln_fwk_l4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-getFilDocWithSigAsBase64_O_S_O_O__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 17. 返される内容]

{#P-getFilDocWithSigAsBase64_O_S_O_O__table_x4w_xhk_34b}  
次の例は、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) {#ariaid-title11}

PDF ドキュメントのページサイズを取得します。
{#P-getPdfPageSizes_S__table_hmj_q5j_34b__entry__3}{#P-getPdfPageSizes_S__ph_api_pdfgen_parm_attIDesc}

| 名前 | タイプ | 説明 |
|-|-|-|
| sysId | 文字列 | 添付ファイル \[sys_attachment\] テーブル内の PDF の sys_id。 |
[表 : 18. パラメーター]

{#P-getPdfPageSizes_S__table_hmj_q5j_34b} {#P-getPdfPageSizes_S__table_v1y_g3k_34b__entry__2}{#P-getPdfPageSizes_S__api_pdfgen_ret_msg}

| タイプ | 説明 |
|-|-|
| オブジェクト | 成功した場合は各ページのサイズを含むオブジェクト、失敗した場合はエラーメッセージ。 { "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 添付ファイルではありません。 {#P-getPdfPageSizes_S__ul_qlv_5cv_j4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-getPdfPageSizes_S__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 19. 返される内容]

{#P-getPdfPageSizes_S__table_v1y_g3k_34b}  
次の例は、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) {#ariaid-title12}

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

| 名前 | タイプ | 説明 |
|-|-|-|
| sysId | 文字列 | 添付ファイル \[sys_attachment\] テーブル内の PDF の sys_id。 |
[表 : 20. パラメーター]

{#P-isDocumentFillable_S__table_drx_h3k_34b} {#P-isDocumentFillable_S__table_erx_h3k_34b__entry__2}{#P-isDocumentFillable_S__api_pdfgen_ret_msg}

| タイプ | 説明 |
|-|-|
| オブジェクト | 成功した場合は各ページのサイズを含むオブジェクト、失敗した場合はエラーメッセージ。 { "document_editable": "String", "message": "String", "status": "String" } |
| \<Object\>.​document_editable | 操作が成功した場合、ドキュメントが編集可能かどうかを示すフラグ。 有効な値： * true：PDF ドキュメントに編集可能なフィールドがあります。 * false：PDF ドキュメントに編集可能なフィールドはありません。 {#P-isDocumentFillable_S__ul_h4w_sbd_k4b} データタイプ：文字列として指定されたブーリアン値 |
| \<Object\>.message | 成功またはエラーを確認するメッセージ。 可能な値： * ソースドキュメントコンテンツの読み取り中に例外が発生しました。PDF ヘッダーが見つかりません。指定された入力添付ファイルが有効な PDF ではありません。正しい添付ファイル sys_id を指定してください。{#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_hdrNF} * sys_id \[{0}\] の添付ファイルがセキュリティスキャンに合格しなかったため、要求を続行できません。PDF がウイルス対策スキャンに合格しませんでした。{#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_failScan} * sys_id \[{0}\] の添付ファイルはセキュリティスキャン処理待ちになっているため、要求を続行できません。PDF にウイルス対策スキャンが必要です。{#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_pendScan} * 要求が正常に完了しました。操作は成功しました。{#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_succ} * 未定義 -- 指定された sys_id が存在しないか、PDF 添付ファイルではありません。{#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__api_pdfgen_reg_msg_und} {#P-isDocumentFillable_S__ul_qlv_5cv_j4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-isDocumentFillable_S__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 21. 返される内容]

{#P-isDocumentFillable_S__table_erx_h3k_34b}  
次の例は、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) {#ariaid-title13}

指定された矩形座標、検索キーワード、またはその両方に基づいて PDF ドキュメントに編集を適用します。元の PDF の編集済みコピーが添付ファイル \[sys_attachment\] テーブルに生成されます。
注:  
* 墨消し結果には、墨消しを意図していないテキストを上書きする、予期しない白い墨消しテキストブロックが含まれる場合があります。このイベントが発生した場合は、 highlightedSections プロパティまたは PDF Generation Utilities プラグインを使用して、編集するコンテンツを手動で選択できます。詳細については、「[Redact data from documents](https://www.servicenow.com/docs/access?context=redact-sensitive-data&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US)」を参照してください。
* このメソッドは、JBIG2 画像を含む PDF の編集をサポートしていません。
{#P-redact_O__ul_ulb_2dx_qbc}
{#P-redact_O__table_drx_h3k_34b__entry__3}{#P-redact_O__ph_api_pdfgen_parm_attIDesc}

| 名前 | タイプ | 説明 |
|-|-|-|
| 入力 JSON | オブジェクト | 編集する 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。highlightedSectionsです。ページ番号 | 番号 | 編集用に選択するコンテンツを含む PDF のページ番号。 |
| inputJson。highlightedSectionsです。x | 番号 | PDF の編集矩形の X 軸 (水平位置) (ポイント単位)。PDF ページの左下隅の値は 0 です。例えば、値が <kbd class="ph userinput">306</kbd> の場合、矩形はレターサイズの PDF ページの水平方向の中央にほぼ配置されます。 |
| inputJson。highlightedSectionsです。y | 番号 | PDF の編集矩形の Y 軸 (垂直位置) (ポイント単位)。PDF ページの左下隅の値は 0 です。例えば、値が <kbd class="ph userinput">396</kbd> の場合、矩形はレターサイズの PDF ページの垂直方向の中央にほぼ配置されます。 |
| inputJson。highlightedSectionsです。幅 | 番号 | 墨消し矩形の幅はポイント単位です。この値により、x 軸と y 軸が交差する左下の点から水平方向に四角形のサイズが増加します。 |
| inputJson。highlightedSectionsです。高さ | 番号 | 墨消し矩形の高さ (ポイント単位)。この値により、x 軸と y 軸が交差する左下の点から垂直方向に四角形のサイズが増加します。 |
| inputJson。検索キーワード | アレイ | 編集するテキストを検索するために使用される 1 つ以上の文字列のリスト。マスキング矩形のサイズは、結果としてブロックアウトされるテキストの高さと幅と一致します。 highlightedSections プロパティを含める場合はオプションです。 注: 場合によっては、「 `items:」` や `「PDF.` 」などの特殊文字や句読点を含むテキスト文字列が編集されないことがあります。または、文字列から文字を削除したり、テキストを削除する領域を強調表示したりすることもできます。 |
[表 : 22. パラメーター]

{#P-redact_O__table_drx_h3k_34b} {#P-redact_O__table_phl_lzj_34b__entry__2}{#P-redact_O__desc-fill-only}{#P-redact_O__desc_pdfgen_ret_attID_Fill}

| タイプ | 説明 |
|-|-|
| オブジェクト | 成功した場合は更新された 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 添付ファイルではありません。 {#P-redact_O__ul_eln_fwk_l4b} データタイプ：文字列 |
| \<Object\>.status | 操作が成功したかどうかを示すステータス。 可能な値： * success - 操作は成功しました。 * failure -- 操作は成功しませんでした。message は詳細を示します。 {#P-redact_O__ul_rlv_5cv_j4b} データタイプ：文字列 |
[表 : 23. 返される内容]

{#P-redact_O__table_phl_lzj_34b}  
次の例は、四角形とキーワードで編集する方法を示しています。編集された 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"}


