四則演算の機能を使って、スプール・データには含まれていなかった "小計" を表示するための方法を前回お話ししました。今回は、複数ページにある "小計" をページ毎に足していって、"総計" を計算して表示する方法をお話ししようと考えていましたが、"透かし文字" を表示する方法がまだ一つあることを思い出しましたので、今回はそれをお話ししたいと思います。
MapDraw を使った帳票設計のテクニック 第4回 - 透かし文字 - 2 - の回では、MapDraw の持つ "コンポーネント"という機能を使って、元々オーバーレイに相当する固定文字や罫線等をコンポーネントとして定義しました。それをプロジェクト・ファイルの中で、透かし文字にするゾーンの直後に実行する構成とすることによって、可変データを透かし文字にすることができました。
今回の方法は、透かし文字を持った XPS 形式のファイルを "レイアー" として用意しておいて、それを最も後ろ側に配置して PDF ファイルを生成するというものです。
この方法では、透かし文字は固定の文字となりますが、様々な種類の帳票に共通に適用して良いのであれば、XPS 形式のレイアーを一つ用意しておけば済むので、DrawF 側に透かし文字を定義するよりも、管理が大幅に楽になるというメリットがあります。
実際には、次のような手順で行います。
1. 先ず、実際に透かし文字の XPS ファイルを用意します。マイクロソフト社の Office 製品のどれでも良いのですが、ここでは自由度が高いパワーポイントを使用します。
次のように、ページ設定を "A4 縦"とした真っ白の画面に、グレーの大きなフォントで、"複製禁止" というテキスト・ボックスを追加します。ページの中央、対角線上に置きます。
|
パワーポイント上でテキスト・ボックスを追加 |
2. メニューの中の "ファイル" -> "印刷" を選択し、プリンターには "Microsoft XPS Document Writer" を指定してから "印刷" ボタンを押します。この "Microsoft XPS Document Writer" は、Windows7 移行の Windows には標準で付属しています。
|
Microsoft XPS Document Writerを指定して印刷 |
3. "印刷" ボタンを押すと、次のようなファイル名と保存場所を指定してファイルを保存するための画面が現れます。これは、通常のプリンター・ドライバーに対して "Microsoft XPS Document Writer" が異なる点です。この例では、IFS 上の mapping フォルダーの下に layer というフォルダーを新たに作って、"wm.xps" という名前の XPS ファイルを保存しています。IFS 上に保存することが重要なのは、言うまでもありません。
|
XPS ファイルのファイル名と保存場所を指定する画面 |
4. これでレイアーの準備ができましたので、PDF 生成のコマンドを実行します。Mapping V7 では次の画面のように、"MAPCPYSPLF" コマンドを使用します。
この 1 画面目から 3 画面目までのパラメーターの指定は、通常と変わりません。
|
MAPCPYSPLF コマンド 1 画面目 |
|
MAPCPYSPLF コマンド 2 画面目 |
|
MAPCPYSPLF コマンド 3 画面目 |
5. 4 画面目は今まで開いたことも無いかと思いますが、次のようにレイアーを指定することができるようになっています。ここに "3" で保存した "wm.xps" ファイルを指定します。
|
MAPCPYSPLF コマンド 4 画面目 |
6. 実行すると、次のように、表紙のページにも明細のページにも共通に "複製禁止" という透かし文字が適用されたことが分かります。
|
生成された PDF ファイルの表紙のページ |
|
生成された PDF ファイルの明細のページ |