PDF形式のドキュメントを作成します。本コンポーネントでは、フロー実行時に、次のようなことができます。
詳細については下記トピック「PDFビルダーの使い方」を参照してください。
入力 | フォーマット | Record,XML |
---|---|---|
接続数 | 1 | |
説明 |
PDFファイルに書き込むレコードです。PDFビルダーで定義したレコード領域に書き込みます。 前のコンポーネントと連結する前にPDFビルダーで定義します。定義したレコード領域の数によって指定できる入力ストリーム型が決まります。PDFビルダーで定義したレコード領域が1つの場合、入力ストリームはRecordになります。 PDFビルダーで定義したレコード領域が複数の場合、入力ストリームはXMLになり、ドキュメントエレメントの直下にレコード名に対応するエレメントが、その下フィールド名に対応するエレメントが定義されます。 単票ページにすべてのレコードが書き込めない場合、複票ページに複数のページにまたがってレコードが書き込まれます。 フィールド定義はPDFビルダー上で行い、フローデザイナー上では変更できません。 |
|
出力 | フォーマット | Binary |
名前 | プロパティ型 | マッピング | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
出力形式 | choice | - |
ストリームに出力するデータの形式を選択します。
|
||||||||||||
暗号化方式 | choice | - |
ストリームに出力するPDF文書の暗号化の方式を選択します。
|
||||||||||||
セキュリティ | group | - | セキュリティ情報のプロパティ群です。 暗号化方式 が「暗号化しない」以外の場合のみ有効です。 | ||||||||||||
パスワード(開く) | password | 入力&出力 | ストリームに出力するPDF文書を開くときに必要なパスワードを設定します。暗号化方式 が「暗号化しない」以外の場合のみ有効です。 | ||||||||||||
パスワード(編集・印刷) | password | 入力&出力 | ストリームに出力するPDF文書の編集や印刷に関してセキュリティ設定を行うためのパスワードを設定します。暗号化方式 が「暗号化しない」以外の場合は必須です。 | ||||||||||||
印刷を許可する | boolean | 入力&出力 | ストリームに出力するPDF文書の印刷を許可するかどうかを設定します。暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
コピーを許可する | boolean | 入力&出力 | ストリームに出力するPDF文書のコピーを許可するかどうかを設定します。暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
編集を許可する | boolean | 入力&出力 | ストリームに出力するPDF文書の編集を許可するかどうかを設定します。暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
注釈の付加を許可する | boolean | 入力&出力 | ストリームに出力するPDF文書に注釈をつけることができるかどうかを設定します。暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
フォーム入力を許可する | boolean | 入力&出力 | 注釈の付加を許可する が「いいえ」の場合でも、署名フィールドなどのインタラクティブフォームフィールドへの入力を許可するかどうかを指定します。もしも、注釈の付加を許可する が「はい」の場合、 このプロパティは自動的に「はい」が指定されたものとみなされます。 暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
内容抽出を許可する | boolean | 入力&出力 | 注釈の付加を許可する が「いいえ」の場合でも、アクセシビリティのためにテキストと画像の抽出を許可するかどうかを指定します。もしも、コピーを許可する が「はい」の場合、このプロパティは自動的に「はい」が指定されたものとみなされます。暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
アセンブリを許可する | boolean | 入力&出力 | 編集を許可する が「いいえ」の場合でも、ドキュメントのアセンブルを許可するかどうかを指定します。 このプロパティが「はい」の場合、ページを挿入、回転、または削除して、ブックマークまたはサムネイル画像を作成できます。 もしも、編集を許可する が「はい」の場合、このプロパティは自動的に「はい」が指定されたものとみなされます。暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
高品質印刷を許可する | boolean | 入力&出力 | 高品質での印刷を許可するかどうかを指定します。印刷を許可する が「いいえ」の場合、このプロパティは無視され、印刷は一切許可されません。もしも、このプロパティが「いいえ」で 印刷を許可する が「はい」の場合、低品質印刷のみが許可されます。暗号化方式 が「暗号化しない」以外の場合のみ有効です。それ以外の場合は「はい」として処理されます。 | ||||||||||||
単一セル | category | 入力&出力 |
PDFファイル中の、PDFビルダーで定義した単一セル領域です。フロー実行時に、対応する領域にこのプロパティの値を書き込みます。 フィールドの定義はPDFビルダー上で行い、フローデザイナー上では変更できません。 |
||||||||||||
画像 | category | 入力&出力 |
PDFファイル中の、PDFビルダーで定義した画像イメージ領域です。フロー実行時に、対応する領域にこのプロパティの値を「JPEG、PNG」形式のバイナリイメージとして書き込みます。 フィールドの定義はPDFビルダー上で行い、フローデザイナー上では変更できません。 |
コミット | 何もしません。 |
---|---|
ロールバック | 何もしません。 |
タイプ | パラメーター | エラー処理フロー へのストリーム | エラー コード | 説明 |
---|---|---|---|---|
汎用 | なし | コンポーネントの入力ストリーム | 201 | 入力ストリームを書き込むレコード領域が一杯で書き込めなかった場合 |
202 | 入力ストリームを書き込むレコード領域がない場合 | |||
203 | 暗号化が指定されているにもかかわらず編集用のパスワードが指定されていない場合 | |||
204 | 読込用パスワードと編集用パスワードが同じ場合 |
出力するPDFにセキュリティオプションをつける場合、次のことに気をつけてください。
PDFコンポーネントで出力するドキュメントのレイアウトは、Excelワークシートが使用されます。フローの設計時には、PDFコンポーネントに備わっているExcelのアドインソフトウェアである「PDFビルダー」を用いてExcelワークシートによるレイアウトのテンプレートを作成します。実際のフローの実行時は、このテンプレートを元に動的に値を差し込み、PDFを出力します。
PDFコンポーネントを使ってPDFファイルを生成するフローを作成するには、次のような手順を用います。
PDFビルダーは、Excel2016-2021上で動作するアドオンソフトウェアで、利用するには前記バージョンのMicrosoft Excelがあらかじめインストールされている必要があります。また、マクロとして動作するため、Excelの「オプション>セキュリティーセンター>マクロの設定」で「警告を表示してすべてのマクロを無効にする」を指定する必要があります。
PDFコンポーネントではExcelワークシートで作成されているドキュメントイメージを取り込み、PDFとして生成します。PDFビルダーはExcelワークシートからドキュメントイメージを取り込むための専用ツールです。PDFビルダーは、PDF出力のためのページ設定情報をExcelのページ設定から取得します。そのため、プリンタがインストールされている必要があります。
PDFビルダーを起動するには以下の手順で行います。
単一セルタブは、PDFの生成時にセル単位で単一データを差し込むための設定を行います。
レコードタブは、PDFの生成時にレコード単位で繰り返しデータを差し込むための設定を行います。
イメージタブは、PDFの生成時にイメージデータを差し込むための設定を行います。
印刷範囲の設定やヘッダー、フッター、セキュリティの設定を行います。
PDFビルダーでは、1ページ上にすべてのレコードが書き込めるかどうかに応じて、単票ページ、複票ページ(先頭、中間、末尾)の4 種類のドキュメントデザインを定義できます。画面右上の「ページ選択」メニューで、設定するページを選択します。
常に定義する必要があります。入力データにレコードがない場合、および、すべてのレコードが1ページに書き込める場合は、このページのドキュメントデザインが使用されます。
入力データにレコードがあり、レコード数が単票ページのレコード領域に収まりきらない場合、複数ページにわたってドキュメントを出力します。この場合、「複票(先頭)ページ」「複票(中間)ページ」は必ず定義する必要があります。「複票(末尾)ページ」は省略可能です。1 ページ目には「複票(先頭)ページ」のドキュメントデザインが使用されます。2 ページ目以降には「複票(中間)ページ」のドキュメントデザインが使用されます。「複票(末尾)ページ」が定義されている場合には、最後のページにそのドキュメントデザインが使用されます。
PDFコンポーネントにおけるExcelワークシートのオブジェクトの中で、PDFとして出力できるオブジェクトはつぎのとおりです。
※関数、配置・罫線を除く書式は出力されません。ただし、画像オブジェクトは別途ファイルを指定することで出力することができます。
※点線で指定した罫線が実線で描画されることがあります。
※リッチテキスト形式の文字列はプレーン文字列として出力されます。文字列中で色、フォント等を変更しても出力されません。
PDFコンポーネントの機能は、PDFの特性上、PDFビルダーで定義するときに用いたフォント(例えばMS ゴシックなど)がサーバー側にも存在していなければPDFを生成することができません。サーバーをUNIXで運用する場合、[DATA_DIR]/system/fontsにフォントをコピーする必要があります。
PDFコンポーネントでは、コンポーネントの単一セル プロパティ、画像 プロパティ、入力ストリームの内容を、フロー実行時にPDFに差し込むことができます。単一セル プロパティ、画像 プロパティはワークシート上の指定位置にそれぞれ文字列、画像として書き込まれ、入力ストリーム(Record またはXML)はワークシート上の指定領域にレコードとして書き込まれます。レコードが1ページに収まらない場合は、複数ページにわたってドキュメントを作成することもできます。PDFビルダーでは、これらのプロパティ、入力ストリームと、ワークシート上のセル領域との関連づけを行います。
単一セルを設定するには、「単一セル」タブを使用します。
単一セル定義を追加します。「追加」ボタンをクリックすると、範囲指定のダイアログが表示されるので、Excelのワークシート上で単一のセルをポイントするか、セル位置を入力して、「OK」をクリックします。
続いて、項目入力のダイアログが表示されるので、項目名を入力し、「OK」をクリックします。この項目名はPDFコンポーネントの単一セル プロパティにおけるフィールド名になります。データを差し込みたいセルの個数分、上記作業を繰り返します。追加されたセル定義は、「単一セル」タブに一覧表示されます。
選択した単一セル定義を変更します。「変更」ボタンをクリックすると、範囲指定のダイアログが表示されるので、変更する場合は新しい値を入力します。変更しない場合はそのまま「OK」をクリックします。
続いて、項目入力のダイアログが表示されるので、変更する場合は新しい値を入力し、「OK」をクリックします。途中で「キャンセル」をクリックすると、セル定義は変更されません。
選択した単一セル定義を削除します。削除したい単一セル定義を選択し、「削除」ボタンをクリックすると、項目が削除されます。
複票ページが定義されている場合、ページ毎に単一セルを定義します。異なるページで同じ項目名の単一セルがある場合は、フロー実行時に同じ値が書き込まれます。
あるページの単一セル設定を別のページの単一セル設定にコピーすることもできます。「コピー」ボタンをクリックすると、すでに定義されている別ページの単一セルのリストが表示されます。コピーするセルを選択して「OK」をクリックします。セル位置はコピー元ページの印刷範囲における相対位置で、現在のページの印刷範囲にコピーされます。例えば、コピー元ページの印刷範囲が[A1:D15]、現在の印刷範囲が[E1:H15]の場合、B2 のセルはF2 としてコピーされます。セルを複数選択して一括でコピーすることも可能です。
セル書式で「折り返して全体を表示」を指定しておくと、フロー実行時に書き込んだ文字列が、PDFビルダーでデザインしたときのセルサイズに入りきらない場合に、文字列が折り返して出力されます。この場合、ワークシート上ではそのセルより下側のセルが自動的に下方向に移動されますが、PDFコンポーネントでは他の文字の位置は変わりません。また、文字列を折り返して表示した結果、下方向にあるセルと重なって表示される可能性もあります。
レコード形式の繰り返しデータをPDFに差し込むには、「レコード」タブを利用します。レコードの設定を行うには、「レコード」タブをクリックします。レコードタブでは、上部にレコードの範囲が、下部にレコードのフィールドリストが表示されます。レコードの範囲は、Excelワークシート上の列と行で表される矩形領域です。レコードは、その範囲内の行にあたり、フィールドは列になります。
レコード領域の定義を追加します。「追加」ボタンをクリックすると、範囲指定のダイアログが表示されるので、Excelのワークシート上で矩形領域を指定するか、セル領域を入力して、「OK」をクリックします。
続いて、レコード名入力のダイアログが表示されるので、レコード名を入力し、「OK」をクリックします。レコード名は、PDFコンポーネントの入力ストリームがXMLの場合のドキュメントエレメント直下のエレメント名になります。複数のレコード領域が必要な場合、上記動作を繰り返します。
選択したレコード領域の定義を変更します。「変更」ボタンをクリックすると、範囲指定のダイアログが表示されるので、変更する場合は新しい値を入力します。変更しない場合はそのまま「OK」をクリックします。
続いて、レコード名入力のダイアログが表示されるので、変更する場合は新しい値を入力し、「OK」をクリックします。途中で「キャンセル」をクリックすると、レコード領域の定義は変更されません。
選択したレコード領域の定義を削除します。削除したいレコード領域の定義を選択し、「削除」ボタンをクリックすると、レコード領域の定義が削除されます。
複票ページの定義がある場合に、レコード領域の定義を別ページからコピーすることができます。「コピー」ボタンをクリックすると、すでに定義されている別ページのレコード領域のリストが表示されます。
コピーするレコード領域の定義を選択して「OK」をクリックします。レコード領域のセル位置はコピー元ページの印刷範囲における相対位置で、現在のページの印刷範囲にコピーされます。 例えば、コピー元ページの印刷範囲が[A1:D15]、現在の印刷範囲が[E1:H15]の場合、[B2:D6]の領域は[F2:H6]としてコピーされます。 レコード定義を複数選択して一括でコピーすることも可能です。
レコード内のフィールド名を定義します。レコード領域の定義を選択すると、レコードフィールド領域にフィールド(カラム)とフィールド名が表示されます。フィールド名はPDFコンポーネントの入力ストリームにおけるフィールド名となります。デフォルトではフィールド名は列名と同じです。
フィールド名を変更したい場合は、フィールドを選択して「変更」ボタンをクリックします。フィールド名を入力するダイアログが表示されるので、新しい値を入力し、「OK」をクリックします。「キャンセル」をクリックするとフィールド名は変更されません。
レコード領域はページ上に複数定義することが可能です。レコード領域が1 つの場合は、PDFコンポーネントの入力ストリームはRecord ストリームになりますが、複数の場合は、XMLストリームになります。
複数のレコード領域を、複数ページにまたがって表示する場合、どのページにどのレコード領域を配置するかは任意です。レコード数の最大値があらかじめ予測できて、1 ページに収めることが可能であれば、複票(先頭)ページあるいは複票(末尾)ページのみにレコード領域を配置することもできます。レコード数が予測できない場合には、必ず複票(中間)ページにそのレコード領域を配置するようにします。
セル書式で「折り返して全体を表示」を指定しておくと、フロー実行時に書き込んだ文字列が、PDFビルダーでデザインしたときのセルサイズに入りきらない場合に、文字列が折り返して出力されます。レコード領域内でこの折り返しが発生した場合、そのレコードはレコード領域内の複数行を使って表示されます。
単一セル、レコードで指定したセルに入りきらない文字をマップした場合、セルの書式で「折り返して全体を表示」を設定していないとセルをはみ出して文字が書き込まれます。 はみ出した文字が他の単一セル、レコードで指定したセルにマップした文字により上書きされ見えなくなる場合がありますので、単一セル、レコードに指定するセルのサイズを事前に調整する必要がります。
ドキュメントのPDF出力に画像オブジェクトを含める場合には、PDFビルダー上で「画像」とその画像ファイルを関連づける必要があります。ここで定義されていないシート上の画像オブジェクトはPDFには出力されません。定義された画像は、PDFコンポーネントの画像 プロパティのフィールドとして定義されます。Mapperコンポーネントを前に配置することによりプロパティを動的に変更できるため、フロー実行時に画像を動的に変更して出力することも可能です。複票ページが定義されている場合は、ページ毎に画像を定義します。
画像の設定には、「画像」タブを使用します。
画像を追加します。「追加」ボタンをクリックすると、「画像選択」のダイアログが表示されるので、画像名を選択して、「OK」をクリックします。画像名は、Excelのワークシート上で指定された名前と一致している必要があります。また、画像名は、PDFコンポーネントの画像 プロパティにおけるフィールド名となります(*1)。続いて、画像ファイル指定のダイアログが表示されるので、追加する画像ファイルを選択します。サポートされるファイル形式は「JPEG、PNG」です。「キャンセル」をクリックすると、画像は追加されません。
*1:複数ページで同名の画像を選択する場合がありますので、フィールド名の先頭に数値が追加されます。選択した画像の定義を変更します。「変更」ボタンをクリックすると、画像ファイル指定のダイアログが表示されるので、画像ファイルを選択します。サポートされるファイル形式は「JPEG、PNG」です。「キャンセル」をクリックすると、画像の定義は追加されません。
選択した画像の定義を削除します。「削除」ボタンをクリックすると、画像の定義が削除されます。
その他のページに関する設定を行います。
「環境設定」タブをクリックします。
「ページ設定」ボタンをクリックすると、Excelのページ設定ダイアログが表示されるので、値を設定します。ページ設定で定義できるのは以下の項目です。
用紙サイズはISO 216規格で以下のサイズに対応しています。
A3 (297 mm x 420 mm)
A4 (210 mm x 297 mm)
A5 (148 mm x 210 mm)
B4 (250 mm x 353 mm)
B5 (176 mm x 250 mm)
レター (8 1/2 x 11 インチ)
リーガル (8 1/2 x 14 インチ)
ノート (8 1/2 x 11 インチ)
「印刷範囲」ボタンをクリックして、単票、複票のページ毎に印刷範囲を指定します。
PDFビルダーでは、ワークシート上の特定の範囲が設定されたPDFのページに結び付けられ生成されます。出力範囲を選択するには、環境タブの印刷範囲ボタンをクリックします。印刷範囲の選択ダイアログボックスが表示されている状態で、ワークシート上の任意の矩形をドラッグして選択してください。
ヘッダー/フッターを使用する場合、チェックボックスのチェックをオンにします。オフにした場合は、ページ設定でヘッダー/フッターを設定していても使用されません。
チェックボックスのチェックをオンにすると、印刷範囲を用紙サイズに合わせて拡大・縮小してPDFに出力します。オフにした場合は、ワークシート上の設定サイズでPDFに出力します。
チェックボックスのチェックをオンにすると、「用紙サイズに合わせて拡大・縮小」をオンにした場合、縦横比を保って拡大・縮小を行います。「用紙サイズに合わせて拡大・縮小」をオフにした場合は、この設定は無視されます。
暗号化の方式を選択します。暗号化方式 プロパティと連動します。
生成されたPDF文書を開くときに必要なパスワードを設定します。パスワード(開く) プロパティと連動します。
生成されたPDF文書の編集や印刷に関するセキュリティ設定を行う権限を変更するためのパスワードを設定します。パスワード(編集・印刷) プロパティと連動します。
チェックボックスのチェックをオンにすると、生成されたPDF文書を印刷することができるようになります。印刷を許可する プロパティと連動します。
チェックボックスのチェックをオンにすると、生成されたPDF文書をコピーすることができるようになります。コピーを許可する プロパティと連動します。
チェックボックスのチェックをオンにすると、生成されたPDF文書を編集することができるようになります。編集を許可する コンポーネントと連動します。
チェックボックスのチェックをオンにすると、生成されたPDF文書に注釈をつけることができるようになります。注釈の付加を許可する プロパティと連動します。
デザインを完了したらPDFビルダーの「登録」ボタンをクリックして設定情報を登録し、PDFビルダーを終了します。
「プレビュー(PDF)」ボタンをクリックすると、現在の印刷設定の内容をPDFに変換してビューアを起動します。単一セルまたはレコードが設定されている領域には、定義した項目名が、「<項目名>
」の形式でプレビュー画面に表示されます。
※PDFファイルを表示できるビューアがインストールされている必要があります。
設定情報を登録します。「登録」ボタンをクリックすると、設定情報が登録され、PDFビルダーを終了します。
PDFビルダーを終了します。「閉じる」ボタンをクリックすると、設定情報は登録されずに、PDFビルダーを終了します。PDFビルダーを終了後、さらにExcelを終了させると、フローデザイナーに戻ります。
PDFビルダーによってセルやレコードが定義され、登録されるとPDFコンポーネントのインスペクタの単一セル タブ、画像 、ストリームペインのInputタブ、に設定された情報が登録されます。これらのデータはPDFコンポーネントにMapperコンポーネントを接続することでフロー内での変更が可能です。