PDF ジェネレータープラグインの FAQIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } HR サービス管理アプリケーションでは、PDF 生成を使用して、さまざまな HR ベースのドキュメントの HTML テンプレートから PDF ドキュメントを作成します。PDF 生成機能は独自のアクセス可能なプラグインにあり、HRSM の有無にかかわらず利用できます。HR ユースケース向けに追加機能を構築しましたが、PDF 生成プラグインがサポートするものとサポートされていないもの、その他の技術的な詳細について混乱がありました。この FAQ の目的は、これらの質問に答え、必要に応じて公式ドキュメントへのリンクを提供することです。 誤解は、PDF ジェネレーターがサポートする機能についての仮定から生じる可能性があります。iText5 を使用する PDF ジェネレーターのバージョンには制限があります。PDF が期待どおりに生成されない場合は、どの機能がまだサポートされていないかを確認してください。 サポートされていない PDF 機能 TinyMCE エディターでは、PDF ジェネレーターがサポートするように設計されていなかったリッチテキストを作成できます。TinyMCE は ServiceNow プラットフォームの標準エディターであるため、PDF 生成でサポートされている特定の HTML 要素を許可しないように単純に更新することはできません。よく寄せられる質問には、次のサポートされていない HTML 要素に対する期待が含まれます。 垂直配置改ページ (document.addNewPage() を使用して改ページを手動で追加する回避策)テーブル固有の色 (テキストの色がサポートされています)テキストまたは画像のブロック間のカスタム間隔HTML テーブルのカスタム列幅HTML テーブル内のカスタム列配置HTML テーブルのカスタム境界線スタイルCSS テキスト操作 (CSS ベースのフォントタグを含む)インラインスタイリング背景画像 iText 7 はこれらの HTML 構造をサポートしており、iText 7 にアップグレードすると、PDF ジェネレータがこれらを処理できるようになります。使用を希望する顧客向けに拡張要求を作成することで、潜在的な拡張の優先順位を適切に付けるために必要な情報を得ることができます。 FAQ Q: PDF ジェネレーターはどのページ サイズを利用できますか? A: 手紙、法務、A4。サイズが渡されない場合、A4 がデフォルトになります。pagesize は、generalFormAPI.setDocument() API の最後のパラメーターです。 Q: PDF ジェネレーターはどのバージョンの iText を使用しますか? A: 現在、PDF ジェネレーターは iTextPDF バージョン 5.5.2 を利用しています Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } HR アプリケーションで PDF の生成を許可するには、次の 2 つの基本的な方法があります。 HTML テンプレートから PDF ドキュメントを生成する別の PDF から PDF を生成して、変数を自動的に結合または追加する このドキュメントでは、それぞれの基本と、この機能を促進するスクリプトインクルードやその他のコンポーネントに関する技術的な詳細について説明します。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } HTML ドキュメントテンプレートからの PDF ファイルの生成 PDF テンプレートの定義 HTML ドキュメントテンプレートは、HR Core アプリケーションの [ドキュメントテンプレート] モジュールから作成および更新できます。ドキュメントテンプレートは、次のコンポーネントで構成されています。 ヘッダーイメージ本文 (テキスト)フッターイメージフッターテキストテーブル (PDF ドキュメントを生成するときの変数参照に使用されます。 本文テキストは TinyMCE エディターで定義して書式設定し、生成時にユーザー変数とテーブル変数を結合したり含めたりすることができます。これらの変数は、エディターの横で選択して定義できます。 エディターを使用して作成できる HTML 要素の一部は、現時点では PDF ジェネレーターでサポートされていないことに注意してください。サポート対象とサポート対象外の詳細については、「以下の「サポート対象外の PDF 機能」を参照してください。 ドキュメントの生成 最も一般的なユースケースは、HR エージェントが UI アクションを介してケースからドキュメントを生成できるようにすることです (OOB の良い例は雇用証明書です)。これには次の手順が必要です。 ドキュメントテンプレートで参照されるテーブルに UI アクションを作成しますドキュメント生成メソッドを呼び出して PDF を生成するように、この UI アクションをコーディングします 最初の箇条書きは簡単ですが、ドキュメント生成機能を呼び出す方法はいくつかあります。HR がインストールされている場合、ラッパーメソッドを使用して、ヘルパークラスのインスタンスを作成し、generate メソッドを呼び出すことで PDF を生成できます。 // tableName: Name of the table that the Document Template is based on.// tableId: Sys ID of the record in the table to use for generation// targetTableName: Name of the table to attach the generated PDF// targetTableId: Sys ID of the record in the target table where the PDF will be attached new GeneralHRForm(tableName, tableId, targetTableName, targetTableId).generate(); 1.GeneralFormAPI クラスのインスタンスの作成 // fileName: Name of the PDF file that will be generated// targetTable: Name of the table to attach the PDF// targetTableSysID: Record to attach the PDFnew GeneralFormAPI(fileName, targetTable, targetTableSysId); 2.ドキュメントテンプレートクラスに保存する値の設定 // header: Header image for the PDF// footer: Footer image for the PDF// headerLocation: Is the header right, left, or center aligned// footerLocation: Is the footer right, left, or center alignedGeneralFormAPI.SetDocument(header, footer, headerLocation, footerLocation); 3.createPDF メソッドを呼び出し、ドキュメントテンプレートで定義された本文テキストを渡します // body: body text defined in the templateGeneralFormAPI.createPDF(body); PDF を生成し、ステップ 1 で参照したレコードに添付する必要があります。 別の PDF から PDF を生成する HTML テンプレートからの PDF の生成に加えて、「入力可能な」PDF テンプレートに基づく PDF の生成もサポートしています。このテンプレートは、マッピングされたフィールドを含む入力可能な PDF、またはインライン署名を含む標準 PDF のいずれかを使用して、管理ドキュメントとして実装されます。 入力可能な PDF 入力可能な PDF は、フィールドが PDF 自体に含まれるデータ構造にマッピングされる PDF のタイプです。入力可能な PDF を管理ドキュメントとしてアップロードして解析し、PDF 構造内のフィールドを HR テーブルのレコード値にマッピングできます。この基本的なプロセスは次のとおりです。 [ドキュメント管理] モジュールに移動し、ドキュメント管理レコードを作成します。次の手順に進む前に、公開済みステータスであることを確認してください。[ドキュメントテンプレート] モジュールに移動し、PDF ドキュメントテンプレートを作成します。[ドキュメントリビジョン] フィールドで、この新しい PDF テンプレートを管理ドキュメントに関連付けます。 PDF が入力可能な場合は、すべてのドキュメントフィールドを解析する UI アクションが表示されます。これにより、PDF 内のすべてのフィールドが表示され、それらを PDF テンプレートが関連付けられているテーブルの値にマッピングできるようになります。 入力可能な PDF テンプレートを使用して PDF を生成する場合、すべての PDF 変数がテーブルの値に自動的にマッピングされます。 署名領域のマーク 入力可能なフィールドを許可するだけでなく、PDF テンプレートの作成または変更時に次のように「署名領域」を定義できます。 PDF テンプレートの作成中または変更中に [署名をマーク] UI アクションをクリックします開いたモーダルで [フィールドの追加] をクリックします署名領域を表す領域をドラッグアンドドロップします必要に応じて、フィールドに名前を付け、既存のテーブルフィールドにマップします 次のスクリプトインクルードは、入力可能な PDF 機能にとって重要です。参照用にここに含まれています。 GeneralFormAPI:テンプレートをインスタンス化し、PDF を生成するためのメソッドが含まれています これはグローバルスクリプトインクルードであり、コア PDF ジェネレータープラグインの一部です。HR 固有ではない GeneralHRForm:多くの HR コードをラップし、GeneralFormAPI をプロキシする HR 固有のスクリプト。 GeneralPDFUtils: さまざまな PDF ユーティリティメソッドのコレクションで、より重要なものは次のとおりです。 getPDFFields:入力可能な PDF の解析済みフィールドのコレクションを返しますmergeImageToPDF:署名または画像を PDF ドキュメントに結合するために使用されますprefillPdf:プレビュー機能に使用されるマップされたすべてのフィールドを PDF に自動的に入力します。 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } HR ドキュメントテンプレートHR PDF ドキュメントテンプレートの追加または変更PDF 生成をサポートする HR ドキュメントテンプレート利用可能なスクリプト可能な PDF 生成方法に関する技術的な詳細が含まれています。iTextPDF ドキュメント 開発者向け。これには、iTextPDF API とその統合方法の完全なドキュメントが含まれています。