PDFlib デモプログラム
- PDFlib の動作を体験しよう -
このページでは、PDFlib の実際の動作を体験していただけます。
PDFlib とはでご紹介した、PDFlib でできることをプログラムにしました。
PDF を作る:PDFlib 3製品
PDFlib はドイツ PDFlib 社が開発した PDF を作るためのプログラムライブラリーです。プログラマーは膨大で複雑な PDF の仕様に煩わされることなく、手順に沿って関数を呼び出すだけで PDF を簡単に作成することができます。
PDFlib は PDF を作成するための様々な機能を備えています。テキスト、グラフィック、イメージの配置といった基本的なことから、ページ内リンクの作成、しおりの作成、レイヤーの作成、ポートフォリオの作成、パスワードによる暗号化まで、すべて PDFlib の関数を呼び出すだけで行うことができます。
以下のデモプログラムでは PDFlib を使い、ブラウザのフォームから受け取った情報から名刺を作成します。
フォームでは表示するテキスト、フォント、フォントサイズ、配置する位置を入力します。これらの入力を PHP で受け取り、PDFlib で一般的な名刺サイズ (91mm × 55mm) のページ上にこれらのテキストを配置した PDF を作成します。
デモはこちら(※ウィンドウがポップアップします)
ソースコードと解説はこちら
PDFlib+PDI は既存の PDF からページを取り出し、その上にテキストやグラフィック、イメージなどを重ねて新しい PDF を作成します。PDFlib+PDI は PDFlib の上位製品にあたり、PDFlib の機能はすべて PDFlib+PDI でも使用することができます。
以下のデモプログラムでは PDFlib+PDI を使い、Microsoft Word で作成し、Adobe Acrobat Distiller で変換した PDF からページを取り出し、ブラウザのフォームから受け取った内容を重ねて見積書を作成します。
図2 PDFlib+PDI デモプログラム動作イメージ
PDF 化した文書のページ上には、「御見積書」の文字や製品を記述するためのフォーマットが記載されています。PDFlib+PDI ではこのページをインポートするため、フォームからの入力内容をこのページ上に配置するだけで見積書を作成することができます。
PDFlib+PDI では、PDFlib と同様にページ上の位置にフォントサイズやテキスト装飾を指定して文字列を配置したり、画像を配置したりすることができます。
図3 PDFlib+PDI を用いたデータの配置イメージ
デモはこちら (※ウィンドウがポップアップします)
ソースコードと解説はこちら
見積書の軽微な変更であれば、インポートする PDF 文書を差し替えるだけで対応することができます。しかしながら、配置場所の変更を伴うような場合は、プログラムの修正が必要になります。このような配置場所の変更を伴う修正が見込まれる場合には、後述の PDFlib Personalization Server が便利です。
PDFlib Personalization Server (PPS) は既存の PDF 内のページ上に配置された PDFlib ブロック に、テキストやイメージを出力して PDF を作成します。
PDFlib ブロック は Adobe Acrobat 用の無償プラグインである PDFlib ブロックプラグイン で作成する矩形の領域で、Adobe Acrobat を使って対話形式で配置場所を決めることができます。
PPS では、テキストやイメージの配置位置を座標ではなくこの PDFlib ブロック のブロック名で指定することができます。そのため、プログラムを変更することなく、PDFlib ブロック を移動させるだけでレイアウトを変更することができます。配置場所の他にも様々なオプションを指定でき、例えばテキストの場合であればフォントサイズ、フォントスタイル、フォントカラー等を PDFlib ブロック で指定することができます。
デモプログラムでは PPS を使い、Microsoft Word と Adobe Acrobat Distiller で作成した PDF に PDFlib ブロック を配置した2種類の PDF ( 縦置き 、横置き ) に、ブラウザのフォームから受け取った内容を重ねて請求書を作成します。2種類の PDF はレイアウトが異なりますが、同じブロック名を使用しているためプログラムを修正することなく2種類の PDF を作成することができます。
デモはこちら (※ウィンドウがポップアップします)
ソースコードと解説
その他のサンプル
各製品の機能を紹介するサンプル集 (クックブック) をご用意しています。
(Mar 19, 2010 - Sep 27, 2013)