PDFlib PDF文書処理ライブラリー
インフォテックバナー
  • PDFlib とは
  • 製品情報
  • サポート
  • 開発サービス
  • ダウンロード
  • 技術情報
  • 価格・購入法
  • よくある質問
  • 会員ページ

PDFlib 製品に関するよくある質問

ここでは、PDFlib に関してのお問合せのうち、一般的なものをまとめています。ご不明な点やその他の質問はお問い合わせフォームからお問合せください。なお PDFlib の全般的な利用方法については、当ウェブの記事「PDFlib 入門」「PDFlib 製品の技術情報」で紹介していますので、こちらもご覧ください。

なお、記述内容がバージョンの相違などにより該当しない場合もありますので、あらかじめご了承ください。

[PDFlib について]

Q. PDFlib とはどんな製品ですか?

A. PDFlib は PDF ファイルの作成や処理を行うためのプログラムライブラリーです。

PDF の仕様に従って実装された API を使用することで、PDF ファイルの作成や読み取りなどの作業を簡単に行うことができます。

詳細は PDFlib とは をご覧ください。

Q. PDFlib 製品は4種類に分かれていますが、それぞれどのような特長がありますか?

A. PDFlib/PDFlib+PDI/PPS は PDF の作成を行います。

TET は PDF ファイルからテキストや画像を抽出します。

PLOP/PLOP DS は PDF ファイルにパスワードや印刷制限を行います。

pCOS は PDF の仕様に従って様々な情報を取得する手段を提供します。

より詳しい各製品の特長については、PDFlib 製品の選び方 および各製品の製品紹介をご覧ください。

Q. PDFlib は日本語に対応していますか?

A. はい、PDFlib は日本語にも対応しています。

PDFlib/PDFlib+PDI/PPS では日本語フォントを使って PDF ファイルを作成できます。

また、TET では、PDF ファイルからテキストを Unicode で取得することができます。

Q. PDFlib を試してみようと思うのですが、どうすればいいですか?

A. PDFlib は、ダウンロードページ からダウンロードしてそのまま評価版として試用することができます。

評価版の状態でも、いくつかの制限を除き製品版と同様にお使いいただけます。

また、運用前の検証等の目的で製品版での動作を確認したい場合、利用期限を制限した検証用のライセンスキーを発行いたします (製品の購入を前提とした対応です)。お問い合わせフォーム からお問合せください。

Q. PDFlib の導入方法は何を見ればわかりますか?

A. 導入及び設定方法については、ダウンロードした PDFlib 製品パッケージの中の readme.txt に記載されています。ご利用になる言語バインディングに対応する readme.txt を参考にしてください。

たとえば、Windows 用パッケージでは、C 及び C++ バインディングの設定方法は、doc/readme-binary.txt に記述されています。その他の言語バインディングについては、各バインディング用のバイナリ、サンプルプログラム等を収容している /bind 下の各言語ディレクトリ、例えば PHP であれば、bind/php の readme.txt に設定方法が記載されています。またリファレンスマニュアルの各バインディングの説明中に設定に関する記述がありますので、こちらも参照ください。なお、readme.txt の記述は英語となっています。

Q. PDFlib を使ったデモやサンプルプログラムはありますか?

A. PDFlib 製品の技術情報 のページにて、デモとサンプルプログラムを公開しております。

また、PDFlib のパッケージにも多くのサンプルプログラムが同梱されています。

Q. PDFlib を購入したいのですが、手続きはどのようになりますか?

A. まず 見積申し込みフォーム より、お見積をご請求ください。お見積書をお届けする際に、ご購入方法をご案内いたします。

また、ご購入までの手順は PDFlib 製品の価格・購入方法をご覧ください。


[PDFlib 製品の機能について]

Q. 古いバージョンの Acrobat Reader を使用しているユーザーがいます。古いバージョンの Acrobat Reader で開けるPDFファイルを生成できますか?

A. PDFlib 9 の主たる対応バージョンは、PDF 1.7 ですが、それ以前のバージョンに対応した PDF も生成できます。生成可能な PDF のバージョンは下記の通りです。

PDF バージョンソフトウェアバージョン
PDF 1.4Acrobat Reader 5
PDF 1.5Adobe Reader 6
PDF 1.6Adobe Reader 7
PDF 1.7Adobe Reader 8
PDF 1.7 ext level 3Adobe Reader 9
PDF 1.7 ext level 8Adobe Reader X/XI

PDF_begin_document( ) の compatibility オプションで指定したバージョンの PDF ファイルの作成が可能です。例えば、Acrobat Reader 5 ユーザー用に PDF 1.4 で出力する場合、下記の様に指定します。


  $p = new PDFlib();
  $p->begin_document("/sample/sample.pdf", "compatibility=1.4");
     .
     .
     .
  $p->end_document("");
  $p = 0;
PHP 5 / PDFlib 9

但し下記の条件があります。

  1. PDFlib+PDI や PPS でファイルを読み込んで PDF を生成する場合、読み込む PDF ファイルは、出力しようとしている PDF ファイルのファイルバージョンと同じか、より古いバージョンでなけばならない
  2. 指定した PDF フォーマットでサポートされていない機能を使用する事は出来ない

PDF 各バージョンのサポート状況の詳細については、PDFlib チュートリアルの「11. Acrobat・PDFバージョン」を参照してください。

Q. 印刷所に PDF/X 形式で入稿する必要があります。PDF/X 形式のファイル出力は可能ですか?

A. 可能です。PDFlib では下記の PDF/X 形式のファイルを出力可能です。

PDF/X バージョンISOPDF バージョン
PDF/X-1a:2003ISO 15930-4PDF 1.4
PDF/X-3:2003ISO 15930-6PDF 1.4
PDF/X-4,PDF/X-4pISO 15930-7PDF 1.6
PDF/X-5g,PDF/X-5pgISO 15930-8PDF 1.6

PDF/X で出力する場合、PDF/X の仕様に従い下記の処理が必要になります。

  1. フォントの埋め込み
  2. 実画像の埋め込み
  3. 出力フォーマットに応じた PDF フォーマットの選択

また、文書情報の設定等も必要になります。詳しくは PDFlib に同梱されているマニュアルをご覧ください。

Q. 生成した PDF ファイルを Web で公開することを検討しています。Web 用 PDF は作成可能ですか?

A. 可能です。Web 用 PDF にはいくつかの呼び方がありますが、PDFlib では線形化 PDF (linearized PDF) と呼んでいます。Web サーバーがバイトサービングに対応している場合、線形化 PDF はページ単位でダウンロードできるため、全体のダウンロードが完了するまで表示を待たせることがありません。

線形化は PDF_begin_document( ) のlinearize オプションで行うことができます。


  $p = new PDFlib();
  $optlist = "linearize=true";
    // ↑線形化を行う指定をします。
  $optlist .= " inmemory=true");
    // ↑線形化処理をメモリ内で行う為の指定です (任意)。
    //   (パフォーマンスが向上する反面、2 倍のメモリが必要です)
  $p->begin_document("/sample/sample.pdf", $optlist);
     .
     .
     .
  $p->end_document("");
  $p = 0;
PHP 5 / PDFlib 9

Web 用 PDF を有効に利用する為には、下記の制限があります。

  1. Web サーバがバイトサービングに対応している事
    Apache HTTP Server や Microsoft IIS 等の主要な Web サーバーが対応しています
  2. ユーザーが使用するビューワーが線形化 PDF に対応している事
    Adobe Reader (IE 向けプラグインを含む) 等が線形化 PDF をサポートしています
  3. ビューワーの「Web 表示用に最適化を許可」等のオプションが有効である事
    Adobe Reader ではデフォルトで有効です

Q. Microsoft 社の Office 文書を変換するのに PDFlib を利用できますか?

A. PDFlib は、PDF 文書の生成と出力の効率化に特化したソフトウェアですので、Office 文書を直接読み込んで PDF 文書に変換する機能はありません。Word 等で作成した文書を Adobe Acrobat などで PDF に変換し、PDFlib+PDI により、動的な出力と重ね合わせて出力するといった形での利用を想定しています。

Q. 一般ユーザが PDFlib を対話型 PDF 作成ツールとして利用することはできますか?

A. いいえ、できません。PDFlib は効率的かつダイナミックに PDF 文書を生成するためのプログラムライブラリーであり、Acrobat などの対話型ツールとは利用方法が異なります。PDFlib は、アプリケーションプログラム等を通して利用する必要があります。

Q. PDFlib ではどのような日本語フォントを利用できますか?

A. TrueType フォント、OpenType フォント、WOFF フォント、SVG フォント等の日本語フォントが利用できます。

日本語フォントを含む CJK フォントの取扱いの詳細についてはチュートリアル「6.5 日本語・中国語・韓国語テキスト出力」に記述されています。

また当社ウェブ記事「PDFlib 入門 4 - テキストを出力する (II) -」でもご説明しています。

※ フォントを埋め込まずに Adobe Acrobat の標準 CJK フォントを使う方法にも対応していますが、PDFlib 9 では非推奨となっています。

Q. Linux で利用できる日本語フォントを教えてください。

A.独立行政法人 情報処理推進機構 (IPA) が公開している IPA フォント を使用することで、Linux 上でも日本語フォントを使用することができます。

その他の対応フォントについても、フォントごとのライセンスの範囲内で利用できます。

Q. フォントの埋め込み方法を教えてください。

A. PDFlib ではデフォルトでフォントを埋め込む設定になっています。下記のような手順で、フォントを埋め込んだ PDF ファイルを作成することができます。


  $p = new PDFlib();
  $p->begin_document("/sample/sample.pdf", "");
  $p->set_option("SearchPath=/usr/local/fonts");
    // ↑フォントファイルの場所を指定します。
  $p->set_option("FontOutLine={ABCMincho=ABCMincho.TTF}");
    // ↑フォントアウトラインを作成します。
  $p->load_font("ABCMincho", "unicode", $optlist);
     .
     .
     .
  $p->end_document("");
  $p = 0;
PHP 5 / PDFlib 9

フォントの埋め込みの他に、PDFlib ではデフォルトでフォントのサブセッティングも行います。サブセッティングでは実際に使用する文字のフォント情報だけを埋め込むため、PDF のファイルサイズを小さくする事ができます。日本語フォントのようにファイルサイズの大きいフォントを埋め込む場合に有効な方法です。

サブセッティング処理を行うには、フォントに以下の制限があります。

  1. TrueType フォント
  2. PostScript かTrueType のアウトラインを持つ OpenType フォント
  3. WOFF フォント
  4. Type 3 フォント

※ フォントを埋め込む際は、フォントのライセンスをご確認下さい。フォントによっては埋め込んだ文書の配布等に制限があります。

Q. PDFlib 9 での CJK フォントの取り扱い方法を教えてください。

A. PDFlib 9 では、フォントを埋め込まない場合でも TrueType フォントや OpenType フォント等を使用することを推奨しています。

PDFlib ではフォントを埋め込まずに PDF を作成することが可能ですが、PDFlib 9 ではこの方法は非推奨になりました。今後新たに PDF を作成する場合には、TrueType フォントや OpenType フォント等の日本語フォントを埋め込むことをお勧めいたします。


  $p = new PDFlib();
  $p->begin_document("/sample/sample.pdf", "");
  $p->set_option("searchpath=resource/fonts");
    // ↑フォントファイルのあるディレクトリのパスを指定します
  $p->set_option("FontOutline={MS-Gothic=msgothic.ttc}");
  $font = $p->load_font("MS-Gothic", "unicode", "");
     .
     .
     .
  $p->close_font($font);
  $p->end_document("");
  $p = 0;
PHP 5 / PDFlib 9

当社ウェブ記事「PDFlib 入門 4 - テキストを出力する (II) -」でもご説明しています。

Q. PDFlib で作成する PDF 文書にフォームや JavaScript を埋め込んだり、操作することができますか?

A. はい、PDFlib には PDF の主要なインタラクティブ要素を作成する API があります。これによりフォームフィールド、注釈、アクションといった要素が作成できるほか、関連する JavaScript も定義することができます。 これらの使い方については API リファレンスの「12. インタラクティブ機能」に記述されています。

なお PPS では、フォームと類似した機能として、テキスト、イメージ及び PDF ページを動的に挿入できるブロックという領域を利用できます。ブロックは、名前と属性を持つ領域で、PDFlib ブロックプラグインをインストールした Acrobat で対話的に定義することができます。

Q. 現在 PDFlib 6 の PPS で開発を行っています。PDFlib 9 に移行する際に気をつける点を教えてください。

A. PDFlib 7 で pCOS インターフェースが PDFlib+PDI / PPS に加えらました。その為、PDI 関数が、下記の様に変更になりました。

PDFlib 6PDFlib 7 以降
open_pdi 関数open_pdi_document 関数
close_pdi 関数close_pdi_document 関数
get_pdi_value 関数pcos_get_number 関数
get_pdi_parameter 関数pcos_get_string 関数

また、PDFlib+PDI でよく使用される下記の関数が変更になりました。

PDFlib 6PDFlib 7 以降
begin_template 関数begin_template_ext 関数

上記を参考に、コードを書き換えてください。

※テクニカルトピックでもPDFlib 6 からの移行として詳しく説明しています。

Q. 複数色でグラデーションを表示することはできますか?

A. 通常、PDFlibでは2色間のグラデーションをサポートしていますが、グラデーションパターンを組み合わせることにより、2色以上でグラデーションを表示することができます。PDFlib登録会員ページのQ & A 「 複数色でのグラデーション表示」で、処理手順やソースコードをご紹介しておりますのでご覧ください。

※2色間でのグラデーション表示については、PDFlibサンプル集(クックブック)「グラデーション」をご覧ください。

Q. 複数の PDF を1つに結合することはできますか?

A.PDFlib+PDI で既存の PDF ページをインポートし、新規の PDF ページ上に配置することで、PDF を結合することは可能です。ただし、リンク、しおり、注釈、フォームフィールドなどの、インタラクティブ要素はインポートされませんので、注意が必要です。詳しくは、PDFlib サンプル集(クックブック)の PDF の結合 、または、テクニカルトピックの PDF の結合方法をご覧ください。


[iOS / Android 向け PDFlib について]

Q. iOS / Android 向け PDFlib で日本語フォントは使えますか?

A. はい、利用できる日本語フォントと同様に、CMap ファイルを利用するか、TrueType フォントや OpenType フォント等を利用することができます。これらのファイルはパッケージに同梱して配布するか、あらかじめアプリケーションがアクセスできる場所に保存しておく必要があります。

Q. iOS / Android 向け PDFlib に必要なライセンスはどれですか?

A. iOS / Android 向け PDFlib は通常のライセンス体系とは異なります。ご利用になる PDFlib 製品名 (PDFlib/PDFlib+PDI/PPS または TET)、プラットフォーム、開発言語、想定している全体の数量、一回のご注文あたりの数量をご記入の上 お問い合わせフォーム からお問い合わせください。


[ライセンスキーについて]

Q. 購入手続き後、ライセンスキーが送付されてきました。ライセンスキーの適用方法を教えてください。

A. ライセンスキーの適用方法には下記の方法があります。

■スクリプトまたはプログラムで実行時にライセンスキーを指定する方法


  $p = new PDFlib();
  $p->set_option("license=...あなたのライセンスキー...");
     .
     .
     .
  $p = 0;
PHP 5 / PDFlib 9

パラメータ license は、PDF_new() 等で PDFlib のオブジェクトを初期化した直後に指定します。

■ライセンスファイルによりライセンスキーを指定する方法

下記のようなテキストファイル(ライセンスファイル)を作成し、ライセンスキーを指定することができます。


  PDFlib license file 1.0
  # Licensing information for PDFlib GmbH products
  PDFlib 9.0 ...あなたのライセンスキー...
 

このライセンスファイルには、PDFlib の複数の製品のライセンスをそれぞれ別の行に記述することができます。

次に、ライセンスファイルのパスを下記のいずれかの方法で指定します。

1)下記のように licensefile パラメータをPDF_new() 等で PDFlib のオブジェクトを初期化した直後にただ一度だけ設定します。


  $p = new PDFlib();
  $p->set_option("licensefile=/path/to/licensefile");
     .
     .
     .
  $p = 0;
PHP 5 / PDFlib 9

2)下記のようなコマンドで、環境変数 PDFLIBLICENSEFILE を設定します。(設定コマンドは処理系により異なります)


export PDFLIBLICENSEFILE=/path/to/licensefile  # Linux の場合
 

(注) /path/to/licensefile はライセンスファイルへのパスで、処理系に応じた記述をする必要があります。

■個別のキーを複数適用する方法

複数のライセンスキーを別々の注文で購入した場合に、これらのキーをライセンスファイルにまとめて指定することができます。この場合、各ライセンスキーを1行ずつ指定します。また関数 PDF_set_option() を複数回呼び出して各ライセンスキーを指定することもできます。

■ライセンス適用を一時的に外す方法

ライセンスを適用した PDFlib は、購入したライセンス以外の機能は使用できなくなります。ライセンス適用後に通常使用できない上位のパッケージ機能を評価したい場合には、下記のようにダミーのライセンスキーを適用して全ての機能を使用することができます。この場合は全ての出力に評価版と同様のデモスタンプが表示されます。


  $p = new PDFlib();
  $p->set_option("license=0");
     .
     .
     .
  $p = 0;
PHP 5 / PDFlib 9

(注) 本記述は、PDFlib チュートリアル 「0. PDFlib ライセンスキーを適用」をもとにまとめたものです。正式の記述についてはマニュアルを参照してください。

Q. ライセンスキーを適用するとエラーが発生します。対策はありますか?

A. ライセンスキーの適用場所に問題がある可能性があります。ライセンスの設定は、PDFlib オブジェクトを生成した直後、他の関数を呼ぶ前に設定するようにしてください。


  $p = new PDFlib();
  $p->set_option("license=license_key");
  $p->begin_document("/sample/sample.pdf", "");
     .
     .
     .
  $p->end_document("");
  $p = 0;
PHP 5 / PDFlib 9

Q. ライセンスを追加購入しました。追加購入したライセンスを適用する方法を教えてください。

A. ライセンスファイルに記載する場合は古いライセンスキーの次の行に追記してください。


  PDFlib license file 1.0
  # Licensing information for PDFlib GmbH products
  PDFlib 9.0 first key
  PDFlib 9.0 additinal key
 

PDF_set_option() を使用してライセンスキーを適用している場合、下記の様にしてください。


  $p = new PDFlib();
  $p->set_option("license=first_key");
  $p->set_option("license=additinal_key");
     .
     .
     .
  $p = 0;
PHP 5 / PDFlib 9

Q. 現在ライセンスファイルを使用してライセンスキーを適用しています。ライセンス未取得状態の PDF が生成される事があるのですが、対応方法はありますか?

A. 特定の環境(Sun Solaris9 + JAVA)で、ファイルハンドルの上限等の原因で、稀にライセンスファイルにライセンスキーを記載しているにも関わらず、ライセンスキーが適用されていない状態でPDF生成がされる事象が報告されています。その場合は、ライセンスファイルでの適用ではなく、PDF_set_option() 関数を使用してライセンスを適用してください。


  p = new pdflib();
  p.set_option("license=license_key");
  .
  .
  .
Java 1.4 / PDFlib 9

[パッケージ、ライセンス、その他]

Q. 日本語のマニュアルはありますか?価格はいくらでしょうか?

A. はい、現在バージョン 9.0.5 の日本語リファレンスマニュアルがあります。弊社ダウンロードページで無償で入手、ご利用いただけます。

Q. Windows 版で購入したライセンスを Linux 版に変更することは可能ですか?

A. 異なるプラットフォーム (OS) 間でのライセンスの移行はできません。新規に Linux 版を購入いただく必要があります。同一プラットフォームであれば、ライセンスの移行は可能です (Windows Server 2003 → Windows Server 2008 等)。

Q. 1台のハードウェアで、同じゲスト OS の仮想マシンを2台起動しています。これらの仮想マシンで PDFlib を使用する場合、ライセンスはいくつ必要ですか?

A. PDFlib のライセンス数は、ライセンスがインストールされるハードウェアの台数によって決まります。1台のハードウェア上で複数台の仮想マシンが起動している場合、1ライセンスでそのハードウェア上のすべての仮想マシンで PDFlib を使用できます。また、必要なライセンスのプラットフォームは ゲスト OS 用 になります。

Q. 1台のハードウェアで、ゲスト OS が Windows Server と Linux の仮想マシンをそれぞれ2台ずつ起動しています。それぞれの仮想マシンで PDFlib を使用する場合、ライセンスはいくつ必要ですか?

A. ライセンスは PDFlib を使用するプラットフォーム毎に必要です。この例の場合、Windows Server 向けのライセンスと Linux 向けのライセンスがそれぞれ1ライセンスずつ必要になります。

Q. PDFlib を Amazon EC2 で使用します。ライセンスはいくつ必要ですか?

A. Amazon EC2 や Windows Azure のようなクラウドサービスで PDFlib を使用する場合、ライセンスは PDFlib を使用するインスタンスごとに必要です。特にインスタンスのスケールアウトによる負荷分散を想定されている場合、インスタンスの最大数分のライセンスをあらかじめご購入いただく必要があります。

Q. 受託開発で PDFlib の利用を考えています。当社で PDFlib を購入し、開発したアプリケーションと一緒にお客様に納入することは可能ですか?

A. 可能です。ご注文の際、ご利用方法で「受託開発などで、他社へ納品する (他社納入) 等の場合」を選択してください。「ご納入先 (エンドユーザ) 情報」及び「ご購入者 (貴社) 情報」を入力するページが表示されますので、正しい情報を入力して、購入手続きを進めてください。他社納入の場合ライセンスおよびサポートはエンドユーザ様に提供されますが、開発元 (貴社) からのお問い合わせについても対応いたします。

Q. PDFlib には開発者用ライセンスはありますか?

A. 弊社のダウンロードページから入手できる評価用パッケージで PDFlib の全ての機能を使用した開発が可能です。気になる機能などの検証も含め、ご活用ください。ただし、全ての出力にデモスタンプが表示されます。

なお開発や保守を目的とした非本番環境での使用については、本番環境で使用しているライセンスを非本番環境でも使用することができます。詳細については PDFlib のライセンス規定である PDFlib GmbH General License and Support Conditions をご覧ください (37 ページ目より日本語の参考訳が付属しています)。

Q. 当社のソフトウェア製品に PDFlib を組み込んで販売することはできますか?

A. 自社のソフトウェア製品に PDFlib を組み込んで販売する場合には、通常のライセンスとは別のライセンス形態をご用意しています。製品名、プラットフォーム、開発言語、想定している全体の数量、発注する際の1回の数量をご記入の上、お問い合わせフォーム からお問合せください。

Q. 購入を検討していますが、見積書は発行してもらえますか? また請求書は?

A. はい、弊社所定の書式のものを発行します。見積書については、見積申し込みフォームより、必須事項を記入の上、お申し込みください。

請求書、領収証については、ご購入時に選択フォームがありますので、送付方法 (郵送、FAX 等) と併せてご指定ください。

Q. 貴社とドイツ PDFlib 社の取引関係は?

A. インフォテックは、2003 年 7 月より PDFlib 社の正規リセラーとして、直接 PDFlib 社と取引しています。弊社からご購入いただいたお客様には、PDFlib 社発行のライセンスキー及びライセンス証書を弊社から直接、お届けします。また技術的な問題についても、必要に応じ PDFlib 社と連絡をとりながら日本語で対応しております。

(Aug 14, 2003 - Aug 22, 2016)
  • PDFlib トップページ
  • お問合せ
  • PDFlib 入門
価格一覧
特別価格でご提供中
ソフトウェア技術者募集