PDFlib

高度なPDFアプリケーションの開発を支援する定番プログラムライブラリー Supported by インフォテック株式会社

PDFlib サンプル集(クックブック)

本サンプルプログラムは、PDF 文書生成ライブラリーの実装である PDFlib の基本的な機能を実際のプログラムで紹介したものです。

本サイトでダウンロードした PDFlib は、一部機能の制限を除き、評価版として無償でお使いいただけます。

一般的なプログラム

ライセンスキー 様々な方法でライセンスキーを適用し、デモスタンプを取り除きます
基本的な出力 簡単なテキスト、ベクターグラフィック、イメージを出力します
初期表示 文書の拡大、ページ番号、ナビゲーションタブ、タイトルバーといった、初期表示プロパティを定義します
エラーハンドリング 例外処理により異なったエラーハンドリングをデモします
トップダウン座標系 トップダウン座標系を使用してテキストを出力します
コンテンツの繰返し 固定されたヘッダやフッタといった複数のページで使用できるコンテンツを作成します
仮想ファイル(PVF)の利用 イメージや PDF を保持する PVF を作成し、データを PVF からインポートします
権限設定 PDF にコメントの付加のみを許可するよう権限の設定を行います
ユニコードパスワードによる AES-256 暗号化 タイのキャラクタや合字を含んだマスターパスワードを使って AES-256 暗号化文書を作成します

テキスト出力

単一行テキスト さまざまなオプションを使用した単一行テキストを出力します
影付きテキスト fit_textline の shadow オプションにより影付きのテキストラインを出力します
非表示テキスト イメージの上部に非表示テキストを出力します
簡単なスタンプ 対角線上にページを横切るスタンプを作成します
テキストラインのリーダー 目次のように点リーダーを使ってテキストとページ番号の間を埋めます
イメージによるテキストの塗潰し アウトラインテキストを作成して、イメージによりグリフの内部を塗り潰します
テキストのクリッピングパス イメージをテキストの形で切り抜きます
透過テキスト いくつかの透過テキストを作成します
透かし 透かしを作成します
パステキスト パステキストを作成します

テキストフロー

複数ページにわたるテキスト 複数ページにわたり複数行テキストを出力します
アンダーラインテキスト アンダーライン付きテキストを作成します
縦方向の表示位置と均等割付 フィットボックスで行の縦方向の表示位置や均等割付を設定します
様々な角度のテキスト 水平ではなく様々な角度のテキストを出力します
ドロップキャップ 各段落のはじめの文字をドロップキャップします
背景色上のテキスト テキスト行と背景に色をもつテキストフローを配置します
行のまとまり 一つのテキストフロー内に出力する行を指定します
段落間の距離 段落間の距離をコントロールします
改行位置の指定 テキストフロー内で、改行位置を指定します
タブ区切りテキスト 簡単な複数列のレイアウトをタブを使用して作成します
番号付きリスト 番号付きリストを左、および右寄せで出力します
箇条書きの行頭番号 箇条書きの行頭に番号または記号を出力します
現在のテキスト位置の取得 簡単なテキスト、テキスト行、テキストフローを出力して現在のテキスト位置を取得します
テキストのリーダー テキストフローの終りまで自動的にリーダーを追加します
タブによるリーダー 目次のように左のコンテンツと右のコンテンツの間にタブを指定することで、そのスペースをリーダーで埋めます
脚注 文字列に脚注番号をつけ、文末の脚注へのリンクを設定します
テキストによる多角形の塗潰し 多角形をテキストで塗潰します
テキストや矩形の透過 透過テキストを作成したり、透過した矩形でテキストをハイライトします
テキストのウェブリンク テキストフローを作成して、テキストにウェブリンクを色づけして割り当てます
イメージを回り込むテキスト テキストフローにイメージを配置します
多角形を回り込むテキスト テキストが回り込むためのラッピングシェープとして多角形を使います
インデックス テキストフローにより、インデックスされた見出しを定義し、ソートされたインデックスを作成します
イメージクリッピングパス TIFF や JPEG イメージからクリッピングパスを使ってテキストを出力します

フォント・エンコーディング

フォントの設定 利用するフォントを設定します
フォント情報 フォント名、フォントスタイルやエンコーディングといったフォントのプロパティを取得します
フォントメトリクス情報 アセンダライン、ディセンダラインなどの、フォントが占めるスペースの大きさを取得します
フォントの保持 複数の文書にわたってフォントを保持するパフォーマンス上のメリットが分かります
疑似フォントスタイル ボールドやイタリックテキスト出力を疑似的に行います
キャラクタの参照 適切なフォントを使用してキャラクタ参照の実用性をデモします
利用可能なグリフ フォントのグリフが利用できるかをチェックします
グリフの置換 フォント内にグリフが見つけられない場合、グリフの効果を表示します
フォールバックフォント 簡単なフォールバックフォントの使用例です
オープンタイプフォント オープンタイプフォントの使用例です
オープンタイプ機能のテスト オープンタイプフォント機能がサポートされているかどうかをチェックします
CJK のオープンタイプ機能 CJK フォントとテキストのためのオープンタイプ機能を使ったサンプルです
バーコードフォント バーコードフォントによりテキストを出力します
PDFlib でフォントを指定する方法や、フォントを使用する際の注意点については、テクニカルトピック フォントの取り扱い でも解説しています。

Type3 フォント

Type 3 フォント ベクターデータから簡単な Type 3 フォントを作成します
Type 3 ビットマップテキスト イメージデータから簡単な Type 3 フォントを作成します
Type 3 ロゴ イメージから生成された簡単なロゴを含む Type 3 フォントを作成します
Type 3 サブセッティング Type 3 フォントの定義、使用、サブセッティングのサンプルです
Type 3 ベクターロゴ PDF ページをベースにしたベクターから簡単なロゴを含む Type 3 フォントを作成します

インタラクティブ要素

メニュー項目 PDFを開いたとき、Acrobatの全てのメニュー項目名のリストを作成します
リンク注釈 画像やテキスト行で、PDFファイルやWebページやを開くためのリンクを生成したり JavaScript を実行します
しおりの階層 *1 いくつかのレベルにネストされたしおりを作成します
*1 既存 PDF からしおりを抽出し、新規 PDF へ出力する方法については、テクニカルトピック しおりのコピー でも解説しています。

フォームフィールド

フォームフィールドの基礎 暗号化され、フォームフィールドを含む、線形化された PDF を生成します
バーコードフィールド Acrobat がサポートする3種類のバーコードをアクションにより生成します
フォームとレイヤー 英語とドイツ語の2つのレイヤーを定義し、フィールドボタンを経由して、表示・非表示を行います
チェックボックス チェックボックスフォームフィールドを作成します
コンボボックス コンボボックスフォームフィールドを作成します
リストボックス リストボックスフォームフィールドを作成します
複数行のテキストフィールド 複数行のテキストを入力するためのテキストフィールドを作成します
プッシュボタン 「印刷」「名前を付けて保存」の2種類のコマンドを実行するプッシュボタンフォームフィールドを生成します
ラジオボタン 3つのラジオボタンフォームフィールドを持つフィールドグループを作成します
タブ順序 ユーザーが"Tab"キーを押したとき、フォームフィールドをタブ移動する順序を定義します
JavaScript によるテキストフィールドへの入力 JavaScript を使用してテキストフォームフィールドに値を入力します
テキストフィールドの高さ フォントサイズからテキストフィールドの高さを決定します。また、テキストフィールドの高さからフォントサイズを決定します。
テキストフィールドの入力チェック テキストフィールドに入力された日付が、正しくフォーマット化されたかチェックします。
テキストフィールドの入力フォーマット テキストフィールドに入力されたデータを、指定した形式でフォーマットします。
テキストフィールドのレイアウト テキストフィールドのレイアウトを指定します。
JavaScript アクションのためのトリガ フォームフィールドから JavaScript アクションをトリガとする全ての可能性を示します。

グラフィック出力

グラフィックス さまざまな基本的なベクターグラフィックを作成します
点線 いろいろなパターンの点線を作成します
角の丸い矩形 角の丸い矩形を作成します
塗りつぶしルール 複数の重なり合うベクターグラフィックを、さまざまな方法で塗り潰します
塗りつぶしパターン 塗りつぶしパターンを定義し、これを使ってシェープを塗り潰します
透明グラフィック いくつかの透明グラフィックを作成します
矢印 異なる手段で矢印を作ります
レイヤー いくつかのレイヤーを定義し、それぞれの内部で定義したイメージやテキストを出力します
レイヤーとブックマーク 二つのレイヤーを定義してブックマークにより表示・非表示します
階層レイヤー 親、子オプションを使って階層レイヤーを定義します
印刷レイヤー上のスタンプ 印刷時にのみ表示されるレイヤー上にスタンプを出力します
オーバープリントテキスト ノックアウトの代わりに他のページコンテンツをオーバープリントするテキストを作成します

パスオブジェクト

パスオブジェクト さまざまなシェープのパスオブジェクトを作成します
パスオブジェクトの配置 線とリングからパスを作って簡単なストリートマップを作ります
パスオブジェクトとしての矢印 パスオブジェクトを使って矢印を描きます

イメージ出力

イメージの基本 サイズや配置のためのさまざまなオプションを使用してイメージをロードし、表示します
イメージの大きさ さまざまな大きさのイメージを配置します
部分的なイメージの表示 部分的にイメージを表示します
イメージの切り抜き イメージが保有するクリッピングパス情報に基づき、イメージを切り抜いて表示します
角の取れたイメージ 角を丸くしたイメージを配置します
イメージ周りのフレーム イメージの周りにフレームを描きます
イメージ上のテキストの配置 イメージ上にテキストを配置します
カード上のイメージ インポートされた PDF カードにイメージを配置します
URL からのイメージ URL からイメージを読み、PDF 文書に配置します
複数ページ TIFF 入力された TIFF イメージを一つ以上の PDF フレームに変換します
タイル状のパターン イメージを含むタイル状のパターンを定義してページの背景にタイル状に配置します
透過イメージ 透過イメージを作成します
イメージマスク マスクを指定されたイメージを配置します
アルファチャンネル TIFF や PNG イメージのアルファチェンネルを使ったデモンストレーションです
PDFlib で画像ファイルを指定する方法や注意点については、テクニカルトピック イメージファイルの取り扱い でも解説しています。

テーブル

テーブルの基本 複数ページに渡るテーブルを作成します
テーブル行の高さを指定 行ごとの高さを指定したテーブルを作成します。
セルの塗りつぶし テーブルセルの背景を塗りつぶします
複数ページにまたがるテーブルの作成 幅も高さも複数ページで表すテーブルを作成します
テキストを複数のテーブルセルに分割して配置 セルに配置しきれなかった複数行テキストを別のセルに配置します
セルに回転したテキストを配置 90°単位に回転したテキストをテーブルセルに配置します。
セル内のテキスト配置位置の調整 テーブルセル内のテキストについて、縦方向の配置位置を調整して配置します。
様々なコンテンツを含むテーブル 一行テキスト、複数行テキスト、画像等の様々なコンテンツを行や列をまたいでセルに配置します
入れ子テーブルの作成 テーブルセルに別のテーブルがあるような入れ子テーブルを作成します。
セル分割時の再配置の指定 複数の行や列を結合したセルが分割された場合に、コンテンツを再配置するか指定します。
問い合わせシートの作成 テーブルを使い、画像とテキストを持つ問い合わせシートを作成します。
請求書の作成 テーブルを使い、ページごとの小計を含む請求書を作成します。
スケジュール表の作成 テーブルを使い、スケジュール表を作成します。
タイムスケジュール表の作成 テーブルを使い、セルの塗りつぶしなどを含むタイムスケジュール表を作成します。

カラー

カラー サポートされるカラースペースを使用した簡単なサンプルです
スポットカラー いくつかのスポットカラーを定義して使用します
グラデーション エリアやテキストをグラデーションカラーで塗り潰します
ウェブカラー名称 カラー名称と PDFlib で使用される RGB 値を表わす16進数を含む全てのクロスブラウザカラーの一覧です
クロップマークのための「All」 特有の色「All」を使って、すべての色分解で目に見えるクロップマークを作成します
イメージに対する ICC プロファイル イメージに ICC プロファイルを適用します

PDF のインポート

様々な Box の複製 インポートした PDF のページ上にある ArtBox, TrimBox, BleedBox, CropBox, MediaBox を複製します
インポートしたページの切り抜き PDFlib のページをインポートし、切り抜いて利用します
PDF を逆順で出力 PDF をインポートし、逆順に出力します
インポートしたページをレイヤーに配置 インポートした2つのページを、同じページの2つのレイヤーにします
PDF の結合 *1 複数の PDF のページを結合します
pCOS 関数の基礎 PDF から様々な情報を取得します
PDF ページの回転 PDF のページを回転させます
ページにスタンプを追加 PDF のページにスタンプを重ねます
複数の PDF の混成 1つまたは複数の PDF からページをインポートし、ページ上に並べて出力します
インポートしたページの縮小 A4 のページをインポートし、A5 サイズのページとして出力します
PDF の分割 複数のページからなる PDF 文書を分割します
コンテンツの繰り返し インポートしたPDFページ、または画像のハンドルを、繰り返してコンテンツに再利用し、出力ファイルのサイズを小さく抑えます
*1 PDF の結合方法と注意点については、テクニカルトピック PDF の結合方法 でも解説しています。

ページの加工

ページサイズ さまざまなページサイズのページを作成します
ページのトリミング A4 ページを A5 に縁を切り落とします
ページ番号 文書のそれぞれのページの下にページ番号とページ総数を表示します
目次の追加 複数のページを作成し、そこぞれにラベルを割り当て、目次を文書の最初のページに挿入します
ページ順の反転 ページ順を反転したページを作成します

PDFlib ブロックの使い方

PDFlib ブロックの基礎 PDF からページをインポートし、ページ上の PDFlib ブロックを処理します
コンテンツの背後にテキストを配置 PDFlib ブロックを使い、インポートしたページ内容の背後にテキストを配置します
名刺の作成 PDFlib ブロックを使い、名刺を作成します
複数のページから PDFlib ブロックをコピー PDF から複数のページをインポートし、そのページ上のすべての PDFlib ブロックを出力ページにコピーします
フォームフィールドを変換した PDFlib ブロック フォームフィールドを変換した PDFlib ブロックに個別の情報を配置します
テキストブロックの関連付け 複数の PDFlib ブロックを関連付けてテキストを配置します
ネストされた PDFlib ブロック ネストされた PDFlib ブロックを作成します
ブロック矩形の上書き インポートした PDF のページ上にある PDFlib ブロックの座標を変更します
PDFlib ブロックの背景色を取得 PDFlib ブロックの背景色を取得します
PDFlib ブロックのプロパティを取得 PDFlib ブロックのプロパティを取得します

マルチメディア

3D 3D モデルの作成と U3D アニメーションにロードします

地理情報

地理情報参照 地図イメージをインポートして、地理情報参照を加えます

PDF/A

PDF/A クローン PDF/A、PDF/X 標準ドキュメントのクローン
イメージを PDF/A-2b へ グレースケール、TIFF や JPEG フォーマットの CMYK、RGB のイメージをカラースペースに注意して PDF/A-2b に変換します
PDF/A-1b PDF/A-1b に沿った出力を行います
テキストを PDF/A-2b へ カラースペースやフォントに注意しながら、PDF/A-2b のテキストを出力します
PDF/A-1 のための透過スタンプ 既存の PDF/A-1 文書に、PDF/A-1 標準を維持したまま透過スタンプを適用します

PDF/X

PDF/X のクローン PDF/A、PDF/X 標準ドキュメントのクローン
PDF/X-3 PDF/X-3 標準の文書を作成します
PDF/X-4 レイヤーバリアントと透過を持つ PDF/X-4 標準の文書を作成します
PDF/X-5g 外部ページを参照する PDF/X-5g 標準の文書を作成します
(Apr 3, 2007 - May 23, 2019)