PDF2 - PDFデータへの変換

PDF形式のドキュメントを作成します。本コンポーネントでは、フロー実行時に、次のようなことができます。

このコンポーネントを使用するには、PDFビルダーを起動して、Excelファイル上でレイアウトを定義する必要があります。入力ストリームとプロパティの値を用いてPDFファイルを生成し、ストリームに出力します。1ページ上にすべてのレコードが書き込めるかどうかに応じて、単票ページ、複票ページ(先頭、中間、末尾)の4種類のレイアウトを定義します。
対応する用紙サイズはA3,A4,A5,B4,B5,Letter,Legal,Noteです。

詳細については下記トピック「PDFビルダーの使い方」を参照してください。

■ストリーム情報

入力フォーマットRecord,XML
接続数1
説明 PDFファイルに書き込むレコードです。PDFビルダーで定義したレコード領域に書き込みます。
前のコンポーネントと連結する前にPDFビルダーで定義します。定義したレコード領域の数によって指定できる入力ストリーム型が決まります。PDFビルダーで定義したレコード領域が1つの場合、入力ストリームはRecordになります。 PDFビルダーで定義したレコード領域が複数の場合、入力ストリームはXMLになり、ドキュメントエレメントの直下にレコード名に対応するエレメントが、その下フィールド名に対応するエレメントが定義されます。
単票ページにすべてのレコードが書き込めない場合、複票ページに複数のページにまたがってレコードが書き込まれます。
フィールド定義はPDFビルダー上で行い、フローデザイナー上では変更できません。
出力フォーマットBinary

■コンポーネントプロパティ

名前プロパティ型マッピング説明
出力形式choice- ストリームに出力するデータの形式を選択します。
PDF [PDF] - PDFファイルイメージがストリームに出力されます。
XML(合成用) [XML] - PDFファイルを生成するための情報を含んだXMLファイルイメージがストリームに出力されます。このXMLを後でPDF(Merge)コンポーネントの入力とすることで、後で複数のPDFページを合成することができます。
暗号化方式choice- ストリームに出力するPDF文書の暗号化の方式を選択します。
暗号化しない [2] - 暗号化を行ないません。
低強度(40bit RC4) [0] - 低強度の暗号化(40bitのRC4)を行ないます。
高強度(128bit RC4) [1] - 高強度の暗号化(128bitのRC4)を行ないます。
高強度(128bit AES) [3] - 高強度の暗号化(128bitのAES)を行ないます。
セキュリティ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読込用パスワードと編集用パスワードが同じ場合

■制限事項

異なる結合セルが混在したレコードには対応していません。
例)1レコード目はA列とB列が結合セルとなっていて、2レコード目はB列とC列が結合セルになっている場合など

■セキュリティオプション指定時の注意事項

パスワードについて

出力するPDFにセキュリティオプションをつける場合、次のことに気をつけてください。

■PDFビルダーの使い方

●PDFコンポーネントの動作

PDFコンポーネントで出力するドキュメントのレイアウトは、Excelワークシートが使用されます。フローの設計時には、PDFコンポーネントに備わっているExcelのアドインソフトウェアである「PDFビルダー」を用いてExcelワークシートによるレイアウトのテンプレートを作成します。実際のフローの実行時は、このテンプレートを元に動的に値を差し込み、PDFを出力します。

●PDFを使用するフローの開発手順

PDFコンポーネントを使ってPDFファイルを生成するフローを作成するには、次のような手順を用います。

  1. フロー内にPDFコンポーネントを配置する。
  2. PDFコンポーネントからPDFビルダーを起動する。PDFビルダーでは、ドキュメントイメージとなるExcelワークシートファイルを使用して、ドキュメントレイアウトとPDFコンポーネントを結びつける。
  3. ワークシートと結びつけるPDFページを単票、複票(先頭、中間、末尾)から選択する。
  4. PDFのページとして出力したい範囲(印刷範囲)をワークシート上で選択する。
  5. フロー実行時にデータを動的に出力されるPDF内に差し込みたい場合、PDFビルダーを使用してセルやレコード範囲をマウスで指定する。
  6. 画像イメージを差し込みたい場合、イメージファイル名を指定する。
  7. 必要であれば、その他のPDFページを順に設定する。
  8. 設定を登録し、PDFビルダーを終了する。
  9. PDFコンポーネントにMapperコンポーネントなどを接続し、レコードや単一セル、画像に必要なデータを受け渡す。

●PDFビルダーの起動

PDFビルダーは、Excel2016-2021上で動作するアドオンソフトウェアで、利用するには前記バージョンのMicrosoft Excelがあらかじめインストールされている必要があります。また、マクロとして動作するため、Excelの「オプション>セキュリティーセンター>マクロの設定」で「警告を表示してすべてのマクロを無効にする」を指定する必要があります。

PDFコンポーネントではExcelワークシートで作成されているドキュメントイメージを取り込み、PDFとして生成します。PDFビルダーはExcelワークシートからドキュメントイメージを取り込むための専用ツールです。PDFビルダーは、PDF出力のためのページ設定情報をExcelのページ設定から取得します。そのため、プリンタがインストールされている必要があります。

PDFビルダーを起動するには以下の手順で行います。

  1. PDFビルダーは、PDFコンポーネントを右クリックして表示されたメニューの「PDFビルダー」をクリックするか、またはPDFコンポーネントをダブルクリックします。
  2. Microsoft Excelが起動します。このExcelには、「PDFBuilder」マクロアイコンが含まれています。マクロ有効化の確認ダイアログが表示された場合は「マクロを有効にする」をクリックしてください。
  3. ドキュメントイメージを作るための任意のExcelワークシートを開きます。
  4. ワークシートが開かれたら、PDFビルダーアイコンをクリックしてPDFビルダーダイアログボックスを表示させます。

単一セル

単一セルタブは、PDFの生成時にセル単位で単一データを差し込むための設定を行います。

レコード

レコードタブは、PDFの生成時にレコード単位で繰り返しデータを差し込むための設定を行います。

イメージ

イメージタブは、PDFの生成時にイメージデータを差し込むための設定を行います。

環境設定

印刷範囲の設定やヘッダー、フッター、セキュリティの設定を行います。

●ページ選択

PDFビルダーでは、1ページ上にすべてのレコードが書き込めるかどうかに応じて、単票ページ、複票ページ(先頭、中間、末尾)の4 種類のドキュメントデザインを定義できます。画面右上の「ページ選択」メニューで、設定するページを選択します。

「単票ページ」

常に定義する必要があります。入力データにレコードがない場合、および、すべてのレコードが1ページに書き込める場合は、このページのドキュメントデザインが使用されます。

「複票(先頭)ページ」「複票(中間)ページ」「複票(末尾)ページ」

入力データにレコードがあり、レコード数が単票ページのレコード領域に収まりきらない場合、複数ページにわたってドキュメントを出力します。この場合、「複票(先頭)ページ」「複票(中間)ページ」は必ず定義する必要があります。「複票(末尾)ページ」は省略可能です。1 ページ目には「複票(先頭)ページ」のドキュメントデザインが使用されます。2 ページ目以降には「複票(中間)ページ」のドキュメントデザインが使用されます。「複票(末尾)ページ」が定義されている場合には、最後のページにそのドキュメントデザインが使用されます。

●オブジェクトの出力

PDFコンポーネントにおけるExcelワークシートのオブジェクトの中で、PDFとして出力できるオブジェクトはつぎのとおりです。

※関数、配置・罫線を除く書式は出力されません。ただし、画像オブジェクトは別途ファイルを指定することで出力することができます。

※点線で指定した罫線が実線で描画されることがあります。

※リッチテキスト形式の文字列はプレーン文字列として出力されます。文字列中で色、フォント等を変更しても出力されません。

PDF生成機能の利用プラットフォーム制限について

PDFコンポーネントの機能は、PDFの特性上、PDFビルダーで定義するときに用いたフォント(例えばMS ゴシックなど)がサーバー側にも存在していなければPDFを生成することができません。サーバーをUNIXで運用する場合、[DATA_DIR]/system/fontsにフォントをコピーする必要があります。

PDFビルダーダイアログ

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:複数ページで同名の画像を選択する場合がありますので、フィールド名の先頭に数値が追加されます。

単票ページの「Picture 2」: 0Picture 2
複票(先頭)ページの「Picture 2」: 1Picture 2

変更

選択した画像の定義を変更します。「変更」ボタンをクリックすると、画像ファイル指定のダイアログが表示されるので、画像ファイルを選択します。サポートされるファイル形式は「JPEG、PNG」です。「キャンセル」をクリックすると、画像の定義は追加されません。

削除

選択した画像の定義を削除します。「削除」ボタンをクリックすると、画像の定義が削除されます。

●「環境設定」

その他のページに関する設定を行います。

「環境設定」タブをクリックします。

ページ設定

「ページ設定」ボタンをクリックすると、Excelのページ設定ダイアログが表示されるので、値を設定します。ページ設定で定義できるのは以下の項目です。

印刷範囲

「印刷範囲」ボタンをクリックして、単票、複票のページ毎に印刷範囲を指定します。

PDFビルダーでは、ワークシート上の特定の範囲が設定されたPDFのページに結び付けられ生成されます。出力範囲を選択するには、環境タブの印刷範囲ボタンをクリックします。印刷範囲の選択ダイアログボックスが表示されている状態で、ワークシート上の任意の矩形をドラッグして選択してください。

ヘッダー/フッター使用

ヘッダー/フッターを使用する場合、チェックボックスのチェックをオンにします。オフにした場合は、ページ設定でヘッダー/フッターを設定していても使用されません。

用紙サイズに合わせて拡大・縮小

チェックボックスのチェックをオンにすると、印刷範囲を用紙サイズに合わせて拡大・縮小してPDFに出力します。オフにした場合は、ワークシート上の設定サイズでPDFに出力します。

縦横比を保つ

チェックボックスのチェックをオンにすると、「用紙サイズに合わせて拡大・縮小」をオンにした場合、縦横比を保って拡大・縮小を行います。「用紙サイズに合わせて拡大・縮小」をオフにした場合は、この設定は無視されます。

●セキュリティ

暗号化の設定

暗号化の方式を選択します。暗号化方式 プロパティと連動します。

文書を開くパスワード

生成されたPDF文書を開くときに必要なパスワードを設定します。パスワード(開く) プロパティと連動します。

権限パスワード

生成されたPDF文書の編集や印刷に関するセキュリティ設定を行う権限を変更するためのパスワードを設定します。パスワード(編集・印刷) プロパティと連動します。

印刷許可

チェックボックスのチェックをオンにすると、生成されたPDF文書を印刷することができるようになります。印刷を許可する プロパティと連動します。

コピー許可

チェックボックスのチェックをオンにすると、生成されたPDF文書をコピーすることができるようになります。コピーを許可する プロパティと連動します。

文書の変更許可

チェックボックスのチェックをオンにすると、生成されたPDF文書を編集することができるようになります。編集を許可する コンポーネントと連動します。

注釈許可

チェックボックスのチェックをオンにすると、生成されたPDF文書に注釈をつけることができるようになります。注釈の付加を許可する プロパティと連動します。

●PDFビルダーの終了

デザインを完了したらPDFビルダーの「登録」ボタンをクリックして設定情報を登録し、PDFビルダーを終了します。

プレビュー(PDF)

「プレビュー(PDF)」ボタンをクリックすると、現在の印刷設定の内容をPDFに変換してビューアを起動します。単一セルまたはレコードが設定されている領域には、定義した項目名が、「<項目名>」の形式でプレビュー画面に表示されます。

※PDFファイルを表示できるビューアがインストールされている必要があります。

登録

設定情報を登録します。「登録」ボタンをクリックすると、設定情報が登録され、PDFビルダーを終了します。

閉じる

PDFビルダーを終了します。「閉じる」ボタンをクリックすると、設定情報は登録されずに、PDFビルダーを終了します。PDFビルダーを終了後、さらにExcelを終了させると、フローデザイナーに戻ります。

●PDFコンポーネントのインスペクタ

PDFビルダーによってセルやレコードが定義され、登録されるとPDFコンポーネントのインスペクタの単一セル タブ、画像 、ストリームペインのInputタブ、に設定された情報が登録されます。これらのデータはPDFコンポーネントにMapperコンポーネントを接続することでフロー内での変更が可能です。