印刷関係用語集 |
PDF【Portable Document Format】
これまでは、文字の修飾(フォントの種類やサイズ・色など)や段組・画像など、作成したアプリケーションがなければ扱えなかったが、PDF形式に変換することで、Acrobat Readerにより、さまざまなOSや機種で閲覧することができる。
IT用語辞典バイナリ |
読み方:ピーディーエフ
別名:PDF形式,Adobe PDF
PDFとは、Adobe Systemsが開発した、テキストや画像を含む電子文書を扱う技術、およびファイル形式のことである。ファイルには拡張子として「.pdf」が付く。
PDFでは、テキスト、画像、ハイパーテキストといったマルチメディアを、同じ文書内で扱い、所定のレイアウトで再現することができる。WindowsやMac OS、UNIX、各種のモバイル端末など、あらゆるプラットフォームをサポートしている(マルチプラットフォームである)ため、コンピュータの環境に依存せず、どんな環境で閲覧しても、意図した通りの配置やフォントで文章を再現できるという特徴がある。
PDFはページ記述言語の一種であるPostScriptのスーパーセット(上位セット)となっている。フォントの情報もPDFファイルの中に含んでいるため、コンピュータにインストールされていないフォントでも再現できる。また、拡大・縮小や印刷などによってレイアウトや可読性が損なわれないという利点もある。
PDFは独自のレンダリング技術によってファイルを再現する必要があるため、閲覧するためには専用のアプリケーションソフトを必要とする。Adobe Systemsでは、閲覧専用のソフトウェア「Adobe Reader」を無償で配布しているため、閲覧は非常に容易である。
閲覧環境に依存しない文書形式という観点などから、PDFは電子文書の配布形式として非常に広く普及している。官公庁や企業の発表する文書のファイル形式としても多く利用されている。2008年7月には、ISO 32000として国際標準化もされている。
PDF形式の文書を作成するには、一般的にはAdobe Acrobatなどのソフトウェアが用いられる。PDFの技術仕様は公開されているため、アプリケーションの印刷機能を利用してPDF形式で出力するツールなども多数配布されている。OpenOffice.orgはデフォルトでPDF出力の機能を備えており、MicrosoftのOffice 2007もアドインをインストールすることでPDF形式で出力が可能となる。
ちなみに、PDFと同種の電子文書技術としては、MicrosoftのXPS(コードネーム「Metro」)などを挙げることができる。
参照リンク
Adobe Portable Document Format - (Adobe Systems)
| ソフトウェア: | ポートレートモード ICM PageMaker PDF PostScript QuarkXPress RIP |
拡張子辞典 |
.pdfとは、Adobe Systems社が開発した文書表示用の形式であるPDF(Portable Document Format)のファイルに付く拡張子のことである。
PDF形式は、プラットフォームを選ばない、高品質なレイアウト機能をもつ表示形式として広く普及している。PDFファイルを開くには「Adobe Acrobat Reader」が必要となるが、フリーソフトとして配布されているので無償で入手できる。
PHP関数リファレンス |
PDF 関数
導入
PHP の PDF 関数を使用すると、 Thomas Merz が作成して現在は » PDFlib GmbH がメンテナンスしている PDFlib ライブラリを使用した PDF ファイルが作成できるようになります。本節のドキュメントは、PDFlib ライブラリで利用可能な関数の概要のみを 説明することを意図しており、完全なリファレンスではありません。 ここで扱う各関数の完全で詳細な説明については、PDFlib GmbH が配布する すべての PDFlib パッケージに含まれている PDFlib リファレンスマニュアルを 参照ください。このドキュメントは、PDFlib の機能に関する 概要を非常に良くまとめており、全ての関数に関する最新のドキュメントが 含まれています。
はじめの一歩としては、 PDFlib 配布パッケージに含まれるサンプルプログラムを眺めることをお勧めします。 このサンプルでは、基本的なテキスト、ベクター、グラフィックスの出力だけではなく、 PDF インポート機能 (PDI) のような高度な関数も扱っています。
PDFlib のほとんどの関数と PHP モジュール内の関数の名前とパラメータは共通になっています。 別途設定されていない限り、 全ての長さと座標は、Postscript のポイント数で計られます。通常、1 インチあたり 72 Postscript ポイントですが、これは出力解像度に依存します。 使用する座表系に関するより詳細な説明については、PDFlib の配布物に含まれる PDFlib リファレンスマニュアルを参照ください。
PDFlib のバージョン 6 では、PHP 4 用の関数指向の API に加えて PHP 5 用のオブジェクト指向の API も提供しています。 主な違いは以下のとおりです。
PHP 4 では、まず最初に以下のような関数コールによって PDF リソースを取得しなければなりませんでした。
$p = PDF_new().
この PDF リソースは、それ以降のすべての関数コールの 第一パラメータとして次のように使用されます。
PDF_begin_document($p, "", "").
しかし、PHP 5 では PDFlib オブジェクトは次のように作成します。
$p = new PDFlib().
このオブジェクトは、PDFlib API のすべての関数をメソッドとして 提供しています。たとえば次のようになります。
$p->begin_document("", "").
さらに、PHP 5 の新機能である例外についても PDFlib 6 以降でサポートしています。
詳細な情報は、以下の例を参照ください。
注意: 外部 PDF ライブラリを使用しない、他のフリーな PDF ジェネレータに 関心がある場合には、 関連する FAQ を参照してください。
要件
PDFlib Lite はオープンソースで公開されていますが、 フリーで使用するためにはいくつかの条件があります。 PDFlib Lite は、PDFlib の機能の一部をサポートしています。詳細は PDFlib のウェブサイトを参照ください。 PDFlib の完全版は » http://www.pdflib.com/products/pdflib-family/ でダウンロード可能ですが、 商用する場合はライセンスを購入する必要があります。古いバージョンの PDFlib に関する問題
2000 年 3 月 9 日以降のバージョンの PHP 4 では、3.0 より古いバージョンの PDFlib をサポートしていません。PDFlib 4.0 以降は、PHP 4.3 以降でサポートされています。
インストール手順
この » PECL 拡張 モジュールは PHP にバンドルされていません。 この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » http://pecl.php.net/package/pdflib.PHP < 4.3.9 で以下の関数が動作するようにするには、 --with-pdflib[=DIR] を指定して PHP をコンパイルする必要があります。DIR は PDFlib のベースインストールディレクトリで、デフォルトは /usr/local です。
リソース型
リソース型は定義されていません。廃止された PDFlib 関数についての注意
PHP 4.0.5 以降、PHPlib 用の PHP 拡張モジュールは、PDFlib GmbH から 正式にサポートされています。これにより、PDFlib リファレンスマニュアルに記述された全ての関数が PHP4 で全く同じ意味、 同じパラメータでサポートされています。しかし、PDFlib バージョン 5.0.4 以降ではすべてのパラメータを指定する必要があります。互換性を保つために PDFlib サポート関数ではまだ古い関数もサポートしていますが、上記の ように新しいバージョンに置換される予定です。PDFlib GmbH は、これらの 古い関数を使用した場合に生じた際に生じた問題に関してはサポートを 行いません。このドキュメントではそれらの関数については「古い関数」と 明記しており、かわりに使用する関数について説明しています。例
多くの関数の使用法は簡単です。最も困難なのは、最初に pdf ドキュメントを作成する場合でしょう。次の例は、入門の際の 助けとなるはずです。この例は PHP 4 を対象に開発されており、 1 ページを有するファイル test.pdf が作成されます。 ドキュメントにはフィールドの内容についての情報が定義されており、 Helvetica-Bold フォントを読み込んで "Hello world! (says PHP)" というテキストを出力します。例 1630. PHP 4 用の PDFlib での Hello World の例
<?php
$p = PDF_new();
/* 新しい PDF ファイルをオープンし、ディスク上に PDF を作成するためにファイル名を挿入します */
if (PDF_begin_document($p, "", "") == 0) {
die("Error: " . PDF_get_errmsg($p));
}
PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hello world (PHP)!");
PDF_begin_page_ext($p, 595, 842, "");
$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "Hello world!");
PDF_continue_text($p, "(says PHP)");
PDF_end_page_ext($p, "");
PDF_end_document($p, "");
$buf = PDF_get_buffer($p);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;
PDF_delete($p);
?>
以下の例は PHP 5 用の PDFlib 配布物で使用するためのものです。PHP 5 の 新機能である例外処理やオブジェクトのカプセル化機能を使用しています。 この例では hello.pdf という名前の 1 ページの ファイルを作成します。 ドキュメントにはフィールドの内容についての情報が定義されており、 Helvetica-Bold フォントを読み込んで "Hello world! (says PHP)" というテキストを出力します。
例 1631. PHP 5 用の PDFlib での Hello World の例
<?php
try {
$p = new PDFlib();
/* 新しい PDF ファイルをオープンし、ディスク上に PDF を作成するためにファイル名を挿入します */
if ($p->begin_document("", "") == 0) {
die("Error: " . $p->get_errmsg());
}
$p->set_info("Creator", "hello.php");
$p->set_info("Author", "Rainer Schaaf");
$p->set_info("Title", "Hello world (PHP)!");
$p->begin_page_ext(595, 842, "");
$font = $p->load_font("Helvetica-Bold", "winansi", "");
$p->setfont($font, 24.0);
$p->set_text_pos(50, 700);
$p->show("Hello world!");
$p->continue_text("(says PHP)");
$p->end_page_ext("");
$p->end_document("");
$buf = $p->get_buffer();
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;
}
catch (PDFlibException $e) {
die("PDFlib exception occurred in hello sample:\n" .
"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
$e->get_errmsg() . "\n");
}
catch (Exception $e) {
die($e);
}
$p = 0;
?>
目次
- PDF_activate_item — 構造体要素やその他の内容をアクティブにする
- PDF_add_annotation — 注記を追加する [古い関数]
- PDF_add_bookmark — ブックマークを現在のページに追加する [古い関数]
- PDF_add_launchlink — 現在のページに起動用注記を追加する [古い関数]
- PDF_add_locallink — 現在のページにリンク注記を追加する [古い関数]
- PDF_add_nameddest — 移動先を作成する
- PDF_add_note — 現在のページに注記を追加する [古い関数]
- PDF_add_outline — 現在のページにブックマークを追加する [古い関数]
- PDF_add_pdflink — 現在のページにリンク注記を追加する [古い関数]
- PDF_add_thumbnail — 現在のページにサムネイルを追加する
- PDF_add_weblink — 現在のページに Web リンクを追加する [古い関数]
- PDF_arc — 反時計回りに円弧を描く
- PDF_arcn — 時計回りに円弧を描く
- PDF_attach_file — 現在のページに添付ファイルを追加する [古い関数]
- PDF_begin_document — 新しい PDF ファイルを作成する
- PDF_begin_font — Type 3 フォント定義を開始する
- PDF_begin_glyph — Type 3 フォントのグリフ定義を開始する
- PDF_begin_item — 構造体要素あるいはその他の内容をオープンする
- PDF_begin_layer — レイヤーを開始する
- PDF_begin_page_ext — 新規ページを開始する
- PDF_begin_page — 新規ページを開始する [古い関数]
- PDF_begin_pattern — パターン定義を開始する
- PDF_begin_template — テンプレート定義を開始する
- PDF_circle — 円を描く
- PDF_clip — 現在のパスに切り取る
- PDF_close_image — 画像を閉じる
- PDF_close_pdi_page — ページハンドルを閉じる
- PDF_close_pdi — PDF ドキュメント入力を閉じる
- PDF_close — pdf ドキュメントを閉じる [古い関数]
- PDF_closepath_fill_stroke — 現在のパスを閉じ、塗りつぶし、輪郭を描く
- PDF_closepath_stroke — パスを閉じ、パスに沿って線を描く
- PDF_closepath — 現在のパスを閉じる
- PDF_concat — 行列を CTM に追加する
- PDF_continue_text — 次の行にテキストを出力する
- PDF_create_action — オブジェクトやイベントに対するアクションを作成する
- PDF_create_annotation — 矩形の注記を作成する
- PDF_create_bookmark — ブックマークを作成する
- PDF_create_field — フォームフィールドを作成する
- PDF_create_fieldgroup — フォームフィールドグループを作成する
- PDF_create_gstate — 画像状態オブジェクトを作成する
- PDF_create_pvf — PDFlib 仮想ファイルを作成する
- PDF_create_textflow — textflow オブジェクトを作成する
- PDF_curveto — ベジエ曲線を描く
- PDF_define_layer — レイヤー定義を作成する
- PDF_delete_pvf — PDFlib 仮想ファイルを削除する
- PDF_delete_textflow — textflow オブジェクトを削除する
- PDF_delete — PDFlib オブジェクトを削除する
- PDF_encoding_set_char — グリフ名や Unicode 値を追加する
- PDF_end_document — PDF ファイルを閉じる
- PDF_end_font — Type 3 フォント定義を終了する
- PDF_end_glyph — Type 3 フォントのグリフ定義を終了する
- PDF_end_item — 構造体要素やその他の内容を閉じる
- PDF_end_layer — すべてのアクティブなレイヤーを無効にする
- PDF_end_page_ext — ページを終了する
- PDF_end_page — ページを終了する
- PDF_end_pattern — パターンを終了する
- PDF_end_template — テンプレートを終了する
- PDF_endpath — 現在のパスを終了する
- PDF_fill_imageblock — 画像ブロックをさまざまなデータで塗りつぶす
- PDF_fill_pdfblock — PDF ブロックをさまざまなデータで塗りつぶす
- PDF_fill_stroke — パスを塗りつぶし、パスの輪郭を描く
- PDF_fill_textblock — テキストブロックをさまざまなデータで塗りつぶす
- PDF_fill — 現在のパスを塗りつぶす
- PDF_findfont — 後で使用するフォントを準備する [古い関数]
- PDF_fit_image — 画像やテンプレートを配置する
- PDF_fit_pdi_page — インポートした PDF ページを配置する
- PDF_fit_textflow — textflow を矩形領域に配置する
- PDF_fit_textline — 1 行分のテキストを配置する
- PDF_get_apiname — 成功しなかった API 関数の名前を取得する
- PDF_get_buffer — PDF 出力バッファを取得する
- PDF_get_errmsg — エラーテキストを取得する
- PDF_get_errnum — エラー番号を取得する
- PDF_get_font — フォントを取得する [古い関数]
- PDF_get_fontname — フォント名を取得する [古い関数]
- PDF_get_fontsize — フォント処理 [古い関数]
- PDF_get_image_height — 画像の高さを取得する [古い関数]
- PDF_get_image_width — 画像の幅を取得する [古い関数]
- PDF_get_majorversion — メジャーバージョン番号を取得する [古い関数]
- PDF_get_minorversion — マイナーバージョン番号を取得する [古い関数]
- PDF_get_parameter — 文字列パラメータを取得する
- PDF_get_pdi_parameter — PDI 文字列パラメータを取得する
- PDF_get_pdi_value — 数値型の PDI パラメータを取得する
- PDF_get_value — 数値型のパラメータを取得する
- PDF_info_textflow — textflow の状態を問い合わせる
- PDF_initgraphics — 描画状態をリセットする
- PDF_lineto — 線を描く
- PDF_load_font — フォントを検索し、準備する
- PDF_load_iccprofile — ICC プロファイルを検索し、準備する
- PDF_load_image — 画像ファイルをオープンする
- PDF_makespotcolor — スポット色を作成する
- PDF_moveto — 現在の位置を設定する
- PDF_new — PDFlib オブジェクトを作成する
- PDF_open_ccitt — raw CCITT イメージをオープンする [古い関数]
- PDF_open_file — PDF ファイルを作成する [古い関数]
- PDF_open_gif — GIF イメージをオープンする [古い関数]
- PDF_open_image_file — ファイルからイメージを読み込む [古い関数]
- PDF_open_image — イメージデータを使用する [古い関数]
- PDF_open_jpeg — JPEG イメージをオープンする [古い関数]
- PDF_open_memory_image — PHP のイメージ関数で作成されたイメージをオープンする [未サポート]
- PDF_open_pdi_page — ページを準備する
- PDF_open_pdi — PDF ファイルをオープンする
- PDF_open_tiff — TIFF イメージをオープンする [古い関数]
- PDF_place_image — イメージをページ上に置く [古い関数]
- PDF_place_pdi_page — PDF ページを置く [古い関数]
- PDF_process_pdi — インポートされた PDF ドキュメントを処理する
- PDF_rect — 矩形を描く
- PDF_restore — 描画状態を復元する
- PDF_resume_page — ページを再開する
- PDF_rotate — 座標系を回転する
- PDF_save — 描画状態を保存する
- PDF_scale — スケールを設定する
- PDF_set_border_color — 注記の周りの境界色を設定する [古い関数]
- PDF_set_border_dash — 注記の周りの境界の破線形式を設定する [古い関数]
- PDF_set_border_style — 注記の周りの境界の形式を設定する [古い関数]
- PDF_set_char_spacing — 文字間隔を設定する [古い関数]
- PDF_set_duration — ページ間隔を設定する [古い関数]
- PDF_set_gstate — 画像状態オブジェクトをアクティブにする
- PDF_set_horiz_scaling — テキストの横方向倍率を設定する [古い関数]
- PDF_set_info_author — ドキュメントの author フィールドを設定する [古い関数]
- PDF_set_info_creator — ドキュメントの creator フィールドを設定する [古い関数]
- PDF_set_info_keywords — ドキュメントの keyword フィールドを設定する [古い関数]
- PDF_set_info_subject — ドキュメントの subject フィールドを設定する [古い関数]
- PDF_set_info_title — ドキュメントの title フィールドを設定する [古い関数]
- PDF_set_info — ドキュメント情報のフィールドを設定する
- PDF_set_layer_dependency — レイヤー間の関係を定義する
- PDF_set_leading — テキストの行間を設定する [古い関数]
- PDF_set_parameter — 文字列パラメータを設定する
- PDF_set_text_matrix — テキストの行列を設定する [古い関数]
- PDF_set_text_pos — テキストの位置を設定する
- PDF_set_text_rendering — テキストの描画方法を設定する [古い関数]
- PDF_set_text_rise — テキストの傾きを設定する [古い関数]
- PDF_set_value — 数値パラメータを設定する
- PDF_set_word_spacing — 単語間の空白を設定する [古い関数]
- PDF_setcolor — 塗りつぶし色および輪郭色を設定する
- PDF_setdash — 破線パターンを設定する
- PDF_setdashpattern — 破線パターンを設定する
- PDF_setflat — 平面度を設定する
- PDF_setfont — フォントを設定する
- PDF_setgray_fill — 塗りつぶし色をグレーに設定する [古い関数]
- PDF_setgray_stroke — 描画色をグレーに設定する [古い関数]
- PDF_setgray — 色をグレーに設定する [古い関数]
- PDF_setlinecap — linecap パラメータを設定する
- PDF_setlinejoin — linejoin パラメータを設定する
- PDF_setlinewidth — 線幅を設定する
- pdf_setmatrix — 現在の変換行列を設定する
- PDF_setmiterlimit — miter limit を設定する
- PDF_setpolydash — 複雑な破線パターンを設定する [古い関数]
- PDF_setrgbcolor_fill — 塗りつぶし RGB 色の値を設定する
- PDF_setrgbcolor_stroke — 描画 RGB 色を設定する [古い関数]
- PDF_setrgbcolor — 描画および塗りつぶし RGB 色を設定する [古い関数]
- PDF_shading_pattern — シェーディングパターンを定義する
- PDF_shading — 混色を定義する
- PDF_shfill — シェーディングで領域を塗りつぶす
- PDF_show_boxed — ボックスにテキストを出力する [古い関数]
- PDF_show_xy — 指定した位置にテキストを出力する
- PDF_show — 現在の位置にテキストを出力する
- PDF_skew — 座標系を歪ませる
- PDF_stringwidth — テキストの幅を返す
- PDF_stroke — パスを描く
- PDF_suspend_page — ページを停止する
- PDF_translate — 座標系の原点を設定する
- PDF_utf16_to_utf8 — 文字列を UTF-16 から UTF-8 に変換する
- PDF_utf8_to_utf16 — 文字列を UTF-8 から UTF-16 に変換する
紙器関係専門用語辞典 |
|
ウィキペディア |
Portable Document Format
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2010/02/06 11:34 UTC 版)
(PDF から転送)
| 拡張子 | .pdf |
|---|---|
| MIME Type | application/pdf |
| タイプコード | 'PDF '(半角空白を含む) |
| UTI | com.adobe.pdf |
| マジックナンバー | %PDF |
Portable Document Format (ポータブル・ドキュメント・フォーマット、略称PDF) は、アドビシステムズが開発および提唱する、電子上の文書に関するファイルフォーマットである。1993年に発売されたAdobe Acrobatで採用された。
特定の環境に左右されずに全ての環境でほぼ同様の状態で文章や画像等を閲覧できる特性を持っており、2008年7月には国際標準化機構によってISO 32000-1として標準化された[1]。
目次 |
概要
PDFのドキュメントは1以上のページで構成され、各ページにはテキスト・画像・図形が含まれる。
PDFの特長は、作成したドキュメントを異なる環境のコンピュータで元のレイアウトどおりに表示・印刷できることである。そのため、印刷物と同じレイアウトの電子ドキュメントを公開するためにPDFは利用される。また、DTPの過程でPDFファイルを作成・利用する場合も多くなっている。
PDFファイルは、Adobe Acrobatを使うことで印刷可能なあらゆるドキュメントから生成できる。また、Webサーバなど、サーバサイドでPDFを作成するためのライブラリ類も多数ある。
PDFファイルの表示や印刷は、アドビシステムズが無料で配布しているAdobe Reader(旧Acrobat Reader)などでできる。Adobe Readerなどがインストールされた環境であれば、一般のHTMLファイルと同様にWebブラウザ上でPDFファイルを閲覧できるが、Adobe Readerの起動のために表示に時間がかかることがある。
PDFの仕様はアドビシステムズ社から公開されている [2]。そのためもあり、アドビシステムズ以外でもさまざまな企業や団体がPDF関連のソフトウェアを開発・公開している。オープンソースソフトウェア、フリーウェアも数多い。
PDFの特長
PDFには、次の特長がある。
- 作成したドキュメントを異なる環境のコンピュータで元のレイアウトどおりに表示・印刷できる
- ドキュメントのセキュリティを設定できる
- 圧縮してデータを格納し、ファイルサイズを小さくできる
- しおり・リンク・コメント・注釈といった、ドキュメントを画面に表示するときに便利な機能を設定できる
- フォーム機能を使って、利用者の入力欄を受け取るような書式設定済み文書を作成できる
- 音声化などアクセシビリティに配慮したドキュメントを作成できる
- マルチメディアに対応している
レイアウトの保持
PDFのドキュメントは、Adobe Readerがインストールされているコンピュータであれば元のレイアウトどおりに表示・印刷できる。Adobe Reader は Microsoft Windows・Mac OS X・Linux など各種オペレーティングシステムに対応したものが無償で配布されており、他のPDF閲覧ソフトも数多く存在するため、PDFファイルは多くの環境で閲覧・印刷できる。
PDF以外の電子ドキュメントは、ほかのコンピュータ上で元のレイアウトを保持したまま表示・印刷するのは難しい。例えば、Word や Excel など Microsoft Office のドキュメントは、対応するソフトウェアもしくは無料のビューワーをインストールすれば閲覧することは可能だが、バージョンや設定が違っていたり、フォントの有無が原因でレイアウトを保てない場合がある。HTML のドキュメントは多くのコンピュータで閲覧できる。しかし、レイアウトの制限が大きい上、OS やWebブラウザの種類・設定でレイアウトが変わりやすい。
そのため、レイアウトの保持が必要なドキュメントは PDF 化することが多い。ただしフォントの設定によっては、PDF でも元のレイアウトを保持できない場合がある。この問題は、フォントを埋め込むことで回避できる。
フォントの埋め込み
電子ドキュメントを正しく表示するためには、フォントが正しく設定されている必要がある。一般に、ドキュメント作成時に使用されているフォントがインストールされていないコンピュータでは、ドキュメントを正しく表示・印刷できない。例えばヒラギノフォントを使って作成したドキュメントは、このフォントがインストールされていないコンピュータでは代替の日本語フォントで表示する必要がある。さらに、日本語フォントがインストールされていないコンピュータではエラーや文字化けが発生し、正しく表示できない。
PDFのドキュメントでは、使用しているフォントを埋め込むことで、そのフォントがインストールされていないコンピュータでも正しく表示・印刷できる。フォントを埋め込む方法は2つあり、当該フォントに含まれているすべてのグリフ(字形)を埋め込む方法と、文章に使用されているグリフのみを埋め込む方法である。これらの選択は、PDFを作成する際に行う。フォントを埋め込んで作成したPDFの日本語ドキュメントは、日本語フォントがインストールされていないコンピュータでも正しく表示できる。
ただし、フォントを埋め込んだ PDF ファイルはファイルサイズが大きくなるという問題がある。また、フォントを埋め込む場合は、フォントのライセンスにも注意する必要がある。
セキュリティの設定
PDFファイルには、情報の機密性を保つために、閲覧パスワード(ユーザパスワード)と編集パスワード(オーナーパスワード)を設定することができる。
閲覧パスワードが設定されていると、利用者は正しい閲覧パスワードを入力しないとPDFファイルを開けない。編集パスワードが設定されていると、PDFを閲覧するだけならパスワード入力は不要であるが、次の作業をするには正しい編集パスワードを入力して設定を解除しなければならない。
- 編集
- 印刷
- テキストや画像などのコピー
この機能を使うことにより、ユーザの画面上では表示できるものの、コンテンツ内の文章をコピー・アンド・ペーストできないようしたり、文書内の写真の印刷ができないよう設定した文書を配布したりできる。
また、電子署名を付け、ドキュメントの改竄を防止する機能も持つ。
マルチメディアへの対応
PDFファイルには、音楽、動画などのマルチメディアファイルを含めることができる。 そのためPDFファイルは、コンピュータを使ったプレゼンテーション用に使うこともできる。
また、2005年、アドビシステムズ社がFlashの開発・推進を進めてきたマクロメディア社を買収しており、それ以降アドビシステムズ社によるFlashとPDFの統合が進められている。
PDFファイルの表示と印刷
Windows環境におけるPDFファイルの表示や印刷には、アドビシステムズ社から無料で配布されているAdobe Readerを使うのが一般的である。Acrobatがインストールされている場合は、AcrobatでPDFの表示や印刷ができる。Mac OS XではOSに標準で付属する「プレビュー」を利用できる。
PDFファイルの検索
Web上のPDFファイルは、Googleなどで検索できる。 また、コンピュータ内のPDFファイルは、AcrobatとAdobe Readerによる全文検索が可能だが、検索用インデックスを作成した高速全文検索を利用するためにはAcrobatのProfessionalバージョン(6.0以降)やGoogle Desktop Search、Mac OS X Tiger以降に付属するSpotlightなどが必要となる。
PDFファイルの作成
PDFファイルの作成には、アドビシステムズ社のAcrobatを利用するのが一般的である。Mac OS Xでは、OSの標準機能で各種ドキュメントをPDFファイルに変換できる。LinuxなどUnix系OSの印刷システムであるCommon Unix Printing SystemにはPDFファイルの出力機能がある。そのほかにも、後述するOpenOffice.orgなどオープンソースのものも含めて、数多くのPDF作成ツールがある [3][4]。
Acrobat
Acrobatでは、データを各種ソフトウェアから「Adobe PDFプリンタ」へ印刷することでPDFファイルを作成できる。この操作の場合、Acrobatに含まれるDistillerでPDFファイルを作成することになる。また、Microsoft OfficeではAcrobatに含まれるPDFMakerでドキュメントをPDFに変換できる。PDFMakerはDistillerを呼び出すとともに、しおり・ハイパーリンク・注釈などを自動的に作成する。
Adobe PDFプリンタによる方法以外としては以下のような作成手法を備えている。
- Acrobat から直接、単数もしくは複数の画像ファイルを指定して、PDF化することが出来る。市販のデジタル写真集などでも利用されている。
- Web Capture機能によりウェブページを直接PDF変換する。階層を指定することでハイパーリンク構造も再現できる。
- スキャナから直接画像を読み取り、PDFに変換できる。
PDFの歴史
- 1993年
- アドビシステムズ社、PDF1.0とAcrobat 1.0をリリース。
- 1994年
- アドビシステムズ社、Acrobat Readerの無償配布開始。この無償配布が、PDF普及の大きな要因となった。
- 1995年
- アドビシステムズ社、Netscape Navigator用のAcrobatプラグインを公開。Web上でのPDF利用を促進した。
- 1996年
- アドビシステムズ社、PDF 1.2とAcrobat 3.0をリリース。このバージョンからPDFとAcrobatが日本語に対応。
- 1999年
- アップル社、Mac OS Xをリリース。Quartzを採用し、OSレベルでPDFへ対応。
- アドビシステムズ社、PDF 1.3とAcrobat 4.0をリリース。
- 2001年
- アドビシステムズ社、PDF 1.4とAcrobat 5.0をリリース。
- 2003年
- アドビシステムズ社、PDF 1.5とAcrobat 6.0をリリース。
- 2004年
- ソースネクスト社、日本国内で「いきなりPDF」シリーズを発売開始。低価格のPDF作成ソフトということで注目を集めた。
- アドビシステムズ社、PDF 1.6とAcrobat 7.0をリリース。
- 2005年
- アドビシステムズ社、マクロメディア社を買収。PDFとFlashの統合が開始された。
- 2006年
- アドビシステムズ社、PDF 1.7とAcrobat 8.0をリリース。
- 2008年7月2日
- ISOの管理規格となる。ISO 32000-1。
PDFとPostScript
PDFは、アドビシステムズ社が開発し印刷業界の標準として普及していたページ記述言語 PostScriptを元に策定された。PDFでは、コンピュータ上でのデータ交換のために次の機能が追加されている。
- ファイルに含まれる各ページへのランダムアクセスに対応。この機能により、必要なページをすばやく表示できる
- フォントの埋め込み
- 文書情報など、本文以外の情報を入力できる。PDFではしおり・リンク・注釈なども本文とは別の情報として扱われる
- 透明の概念(後に追加)
PostScriptのプログラミング言語としての機能は、PDFでは簡略化されている。これはファイルを開いた場合にエラーが発生する可能性を小さくし信頼性を高めるためという事と同時に、PostScriptが持つ特徴の一つである、インタープリタによる実行環境への依存性を極力排除していく方向性からである。
このように元々PDFはPostScriptから発展・派生したという経緯を持つため、PostScriptとPDFは似た特性を持っており、相互の変換は比較的容易である。実際、Acrobatに含まれるDistillerでは、各種アプリケーションのデータをいったんPostScriptファイルに変換(WindowsやMacintoshではプリンタドライバを経由する形で行われる)し、それを元にPDFを生成している。 しかし、PDFを作成するには、必ずしもPostScriptを経由する必要はなく、例えばGDI経由で直接PDFを作成することも可能であり、実際にそういった形で動作(GDI→PDF)する製品は多数存在する(「いきなりPDF」もこのタイプである)。
PDFのバージョン
| 年月 | PDFのバージョン | Acrobat | 仕様書 | 新機能 | ||
|---|---|---|---|---|---|---|
| 作成・表示・印刷 | 表示・印刷 | バージョン | ||||
| 1993年 | 1.0 | Adobe Acrobat | Adobe Acrobat Reader |
1.0 | ||
| 1994年 | 1.1 | 2.0 | ||||
| 1997年5月 | 1.2 | 3.0 | 2バイト言語対応 | |||
| 1999年7月 | 1.3 | 4.0 | PDF Reference, Second Edition PDFリファレンス第2版 ISBN 4-89471-338-1 |
日本語フォントの埋め込み 電子署名 JavaScript対応 |
||
| 2001年4月 | 1.4 | 5.0 | PDF Reference, Third Edition | OpenTypeフォント対応 透明効果 タグ付きPDF |
||
| 2003年5月 | 1.5 | Adobe Reader | 6.0 | PDF Reference, Fourth Edition | JPEG 2000圧縮のサポート 16bit画像のサポート マルチメディアコンテンツの埋め込み |
|
| 2004年12月 | 1.6 | 7.0 | PDF Reference, Fifth Edition | 3Dアートワークの表示 | ||
| 2006年11月 | 1.7 | 8.0 | PDF Reference, Sixth Edition | 3Dアートワークへの対応強化 注釈機能の強化 セキュリティ機能の強化 |
||
| 2008年7月 | 1.7 Adobe Extension Level 3 |
9.0 | ||||
PDFの利用場面
電子ドキュメントの公開・配布
印刷物として制作したドキュメントのPDF化
Quark XPressやAdobe InDesignなどのDTPソフトウェアで組版した結果のデータは、しばしばPDFファイルとして出力される。こうして作成されたPDFファイルは、印刷物と同じレイアウトの電子ドキュメントとなる。一般に、PDFファイルの公開・配布は印刷物を配布するのに比べて低コストである。
そのためPDFを利用して例えば、カタログやパンフレットなどをインターネット上で公開したり、マニュアルや雑誌の収録記事をCD-ROMで配布することが多くなっている。
旧バージョンのQuark XPressなどからPDFファイルを作成するには、PostScriptファイルを生成したうえで"Distiller"というAdobe Acrobatに添付のソフトを使ってPDFファイルに変換するのが一般的である。また、Adobe InDesign、Illustrator、PhotoshopやQuark XPress(バージョン6以降)を使うと、Acrobatなどは使わずに直接PDFファイルを作成できる。
OfficeドキュメントのPDF化
Microsoft Officeや一太郎などで作成したドキュメントも、PDF化されることが多い。PDFのドキュメントは、Microsoft Officeなどドキュメント作成時に使ったソフトウェアをインストールしていないコンピュータでも表示・印刷でき、コンピュータの環境によってレイアウトが変わる可能性も小さくなる。
Microsoft OfficeのドキュメントはPDF化しなくても、Microsoft社から無償配布されている表示専用ソフトウェア(Word ViewerやExcel Viewerなど)で表示させることができる。しかしこうしたソフトウェアは、Adobe ReaderなどのPDF表示用ソフトウェアと比べると、対応しているOSが限られていることもあり、インストールされていない、またはできない場合が多い。そのため、不特定多数の人を対象にしたドキュメントはPDF化することで正しく表示される可能性が高くなる。
PDFの作成には、Microsoft Officeからはプリンタとしてインストールされる「Adobe PDF」や「Acrobat Distiller」を利用してPDFを作成することもできるが、Acrobatに含まれるマクロの「PDF Maker」を利用し、より簡単にPDFを作成できる。
2007 Microsoft Office System (Microsoft Office 2007)では追加アドインを加えることでPDFを出力する機能が追加された。また、Microsoft Office 2007 サービスパック 2 では標準機能として追加され、別アプリを利用することなしにPDFを作成することができる。
また一太郎では、Justsystem PDF Creatorと連携させてPDFを作成することもできる。
OpenOffice.orgでは、標準でPDF出力機能を備えている。
LaTeXとPDF
LaTeXで作成したドキュメントをPDFに変換する機能も持つツールも開発されている。
- PDFLaTeXはLaTeXソース文書を読み取り、そのままPDF形式に出力できる(日本語を含んだLaTeXソース文書は扱えない)。
- dvipdfm(x)はLaTeX標準の中間形式であるdvi形式のファイルをPDFに変換できる。
- これらPDFを直接扱う方法ではなく、LaTeX標準のdvipskなどの伝統的なPostScript出力用ツールでいったんPostScript形式に落とし、それをAdobe Distiller(またはフリーソフトであるGhostscript)といった標準的なPostScript→PDF変換ツールを使ってPDF出力させるといったやり方も一般的である
- ProsperなどのLaTeX形式ファイルからプレゼンテーション用PDFファイルを生成できるツールも存在する。
XMLドキュメントのPDF化
マークアップ言語XMLの応用技術であるXSL-FOを利用すると、Apache FOPやXSL Formatterなどのソフトウェアを利用してPDFファイルに変換できる。XSL-FOはXSLTなどを利用して各種XMLドキュメントから生成できるため、XSL-FOを利用することで各種XMLドキュメントからPDFファイルを作成できる。
紙資料のPDF化
紙資料をイメージスキャナなどを使って電子ドキュメントにする場合も、PDFが利用されることが多い。
紙資料を電子ドキュメント化するとき、PDFを利用しない場合には、TIFFなどの画像ファイルとして保存する方法と、OCRソフトウェアを使ってテキストとして保存する方法がある。画像ファイルとして保存された電子ドキュメントは画面上で見る場合には紙資料と同じ内容が再現できるものの、文章や文字をコピーすることができないなどテキストの再利用に大きな制限がある。また、OCRソフトウェアを使って作成したテキストファイルではテキストの再利用は可能となるが、OCRソフトウェアの精度の問題もあり、元の内容を完全に再現できない場合が多い。
PDFを利用すれば、紙資料をスキャンした画像の上にOCRソフトウェアで変換して作成した透明テキストを重ね、1つのファイルとして保存することができる。こうしたPDFのドキュメントでは、画面上で見る場合には紙資料の内容を完全に再現でき、不完全ではあるがテキストの再利用もできる。例えば、Acrobatにはバージョン6.0以降のStandard版以上でOCR機能が標準で搭載されるようになった。
PDF入稿
印刷物制作時の入稿をPDFですることも増えてきている。従来は、QuarkXPressなどで組版した結果のデータをそのまま入稿することが多かった。
PDF入稿には、
- 原稿作成方法の制限が小さくなる
- 画像ファイルの添付し忘れやエラーの発生を少なくできる
- データサイズをコンパクトにすることができる
などといった利点がある。
ただし作成方法によっては、商業印刷には使えないPDFファイルが生成されることもある。たとえば、紙資料をスキャンして作成したPDFファイルから商業印刷に要求される結果を得るのは難しい。目的とする印刷品質を得るためには、フォントの埋め込みや印刷時に使用する色の情報、画像解像度などをPDFファイル作成時に適切に設定する必要がある。この設定を行うにはコンピュータの操作方法ならびに印刷物とその製造工程を的確に理解していることが必須であるため、誰でも確実に行うことができるとは言い難い。PDF/Xは、こうした問題を回避するために用いられる[5]。
PDFの短所
PDFの短所として、次のような点が指摘されている。
- 仕様が複雑
- ドキュメントを画面で見るには不向き
- AdobeReaderなど一部のリーダの起動が遅い
- 閲覧に使用したコンピュータをウイルスに感染させることができる
仕様が複雑
PDFは、元にしていたPostScriptの仕様が複雑だったため、簡略化したとはいえやはり複雑な仕様になっていた。 また、PDFのバージョンアップとともにさまざまな機能が追加されたため、仕様はますます複雑になっている。
このため、PDFを扱うソフトウェアは巨大で動作の重いものになりがちである。 例えば、Acrobat6ではソフトウェアのサイズが大きく、起動に時間がかかるなど動作が重いため、敬遠する人も多かった。Acrobat7になって起動時間は大幅に短縮したが、ソフトウェアのサイズは相変わらず大きく、動作の重さを感じる場面もある。
また、仕様が公開されているとはいえ、PDFの複雑な仕様に完全に対応するソフトウェアを作成するのは難しい。
画面で見るには不向き
PDFは画面で見るには、ユーザビリティが不十分なために不向きであるとも言われている。
ドキュメントの読みやすさという点では、PDFを画面上で見るよりも印刷物の方が優れていると感じる人が多い。
理由としては、
- 人間の目は反射光を受け取って物体を視認する構造になっているが、コンピュータなどのディスプレイは直接光を出すため、それを受け止めると眼球に対する負担が印刷物に比べ大きくなり、目が疲れやすい。
- ディスプレイに表示される物体は印刷物のそれに比べて解像度が低いため、寸法の小さいパーツは見えにくい。
といったことが考えられる。但し、この視認性の問題についてはHTMLでも条件は同じなので、PDFだけ取り立てて論ずるのは公平性を欠くであろう。
ほとんどのPDF文書がA4縦長で作られているが、PC画面は横長であることが多く、A4縦長ドキュメントを等倍で表示させにくいという点も、画面で見るには不向きな理由の一つである。HTMLは、ブラウザがウィンドウのサイズに合わせて再整形するのでこのような問題は少ない。
ユーザビリティに十分配慮して作成されたHTMLドキュメントと比べると、PDFは扱いにくい面がある。PDFはWeb表示用に最適化(リニアライズ)されてないと、ドキュメントの一部分だけを参照したい場合でも、最初から最後まですべてのデータを閲覧端末に読み込む必要がある。Acrobatなど既定値でWeb最適化したPDFを作成するソフトも多いが、廉価・無償のPDF作成ソフトではWeb表示用に最適化する機能をもたないものがあり、このようなPDF作成ソフトで作成されたPDFをWeb上で表示するときには表示開始までの待ち時間が長くなりがちである。
ナビゲーションのために、しおり、PDFのページ間(内部)リンクやPDF外部へのリンクをドキュメントの任意の箇所に設定することも可能であるが、これはPDF作成時に素材データの中で設定するか、(Readerでない)Acrobatなどのしおり・リンク編集機能をもつソフトで追加する必要がある。この点は、ソースに参照したい箇所をテキスト情報として付記するだけで済むHTMLに比べれば煩雑な手間になりがちである。
アクセシビリティの観点からも、PDFではドキュメントの作成時にタグ付きPDFとしなければならない点などを考えると、HTMLや単純なテキスト形式の方が扱いやすいことも多い。
ユーザビリティに関して世界的に影響力を持つヤコブ・ニールセンはPDFについて、「オンラインの閲覧用に使ってはならない」と結論づけている[6]。
閲覧に使用したコンピュータをウイルスに感染させることができる
脆弱性のあるAdobe ReaderでPDFウイルスを開くと、JavaScriptコードが勝手に動き出してウイルスを実行。パソコンに感染させる。同時に、ダミーのPDFファイルを表示させて、ユーザーにウイルス感染を気付かせないようにする。その脆弱性を悪用した攻撃が続出しており、2009年12月以降、国内で話題になっている「ガンブラー」もPDFウイルスを媒介としている。
対策として、リーダの最新版へのプログラムアップデートがあるが、イタチごっこの状態となっており、 ユーザーによる不要な機能の無効化(例えばAcrobat ReaderにおけるJavaScriptエンジンの無効化)が推奨される。
関連項目
PDFソフトウェアの一覧
PDFの関連規格
- PDF/X
- PDFを元に策定された、印刷用途を目的としたファイル形式。印刷時のデータ交換をスムーズにするため、通常のPDFで使える機能を一部制限している。ISO15930として標準規格化されている。
- PDF/A
- PDFを元に策定された、電子ドキュメントの長期保存を目的としたファイル形式。ISO19005として標準規格化されている。主に印刷目的として利用されていたPDFを、長期保存用に特化させたもの。PDF/Aは特に欧州を中心に使われており、対応するソフトウェアも欧州製のものが多い。現在、PDF/A-1(ISO19005-1)が主流だが、PDF/A-2もISOで策定中である。
- PDF/E
- PDFを元に策定された、エンジニアリングワークフローにおける使用を目的としたファイル形式。ISO24517として標準規格化されている。知的権利の安全な配布やCADデータなどの複雑な3次元データなどをPDFに組み込むことを目標にしている。
- PDF/H
- ISO未策定。ヘルスケアに関するデータを交換、保存するのを目的としたファイル。
- PDF/UA
- ISO未策定。ユニバーサルアクセスへの対応を目的としたファイル形式。視力や運動能力に障害のある人にも利用できるように特化させたもの。
- PDF/VT
- ISO未策定。可変データやトランザクション文書を扱うのを目的としたファイル。
- PAdES
- ISO3200-2に含まれる予定。PDF文書の長期保管を目的としたPDFの拡張。欧州電気通信標準化機構(ETSI)により策定ならびに公開され、ISO32000-2に反映される予定。
PDFの競合規格
- DocuWorks
- 富士ゼロックス社製の、電子文書と紙文書を一元管理するオフィス向け文書管理アプリケーション。DocuWorks(Ver6)のドキュメントからPDFの作成も標準(付属のAcrobat Elementsを利用)でできる。
- FlashPaper
- Macromedia社が策定。PDFと同様に各種ドキュメントから「印刷」して作成でき、作成されたドキュメントはレイアウトを保持したまま表示・印刷できる。Macromedia社がAdobeに買収されたことで、CS3世代ではFlashPaperは作成できなくなり実質的にPDFに一本化された。
- XML Paper Specification(XPS)
- Microsoft社が策定し、Windows Vistaや次期Microsoft Officeで採用される印刷用のプラットフォーム。PDFとよく似た機能をもち、「PDFキラー」といわれている。
- Scalable Vector Graphics(SVG)
- 各種図形を表すファイル形式であるSVGは、PDFと同じくドキュメントのレイアウトを保持したまま表示・印刷する用途に利用できる。現状では、SVGが普及していないが、IEを除いて、ほとんどのブラウザで利用できる。そうした中で、XSL FormatterはXMLドキュメントからPDFと同等のレイアウト結果をSVGで出力できる。
- DjVu(デジャヴ)
- 米国AT&T研究所が開発した、PDF同様にドキュメント公開用に使われるファイルフォーマット。特に画像データの圧縮率が高く、PDFやJPGよりもサイズが小さい割に画像の劣化が少ない特徴を持つとされ、2005年頃から一部で使用されはじめている。
脚注
- ^ Yoichi Yamashita(マイコミジャーナル) (2008-07-03). "PDF 1.7がISO 32000-1として国際標準化". 株式会社毎日コミュニケーションズ. 2008年7月17日 閲覧。
- ^ Adobe PDF Specifications PDF仕様書の一覧ページ(英語)
- ^ TeX Wiki PDFの作り方(奥村晴彦(Haruhiko Okumura)のサイト)
- ^ さまざまなPDFの作成技術の概観
- ^ PDF形式の7つのメリット なぜPDFなのでしょうか?(特売プレス+吉田印刷所 DTPサポート情報Blog)
- ^ PDF:人間が消費するには不向き(Jakob Nielsen博士のAlertbox)
参考文献
- 赤羽紀久生『PDFプロフェッショナルブック』玄光社、2007年8月。ISBN 978-4-7683-0250-7。
- Professional DTP編集部『ビジネスで活用するAcrobat 7.0入門―用途に合ったPDFの「作成」「編集」「管理」』工学社、2005年1月。ISBN 4-7775-1098-0。
- トップスタジオ『WindowsユーザーのためのPDF&Acrobat7.0入門』オーム社、2005年4月。ISBN 4-274-50020-9。
- 大沢文孝『はじめてのAcrobat7.0―PDFファイルの「作り方」から「使い方」まで、詳しく解説!』工学社、2005年6月。ISBN 4-7775-1141-3。
- 川上恭子『Acrobat7+PDFスパテク315 7/6対応』翔泳社、2006年1月。ISBN 4-7981-1016-7。
- PDF研究会『PDFを使えば 業務文書はすべてうまくいく』技術評論社、2006年2月。ISBN 4-7741-2503-2。
- 『PDF Hacks―文書作成、管理、活用のための達人テクニック』オライリー・ジャパン / オーム社、2005年3月。ISBN 4-87311-222-2。
- 『PDFリファレンス第2版』アドビシステムズ / ピアソンエデュケーション、2001年9月。ISBN 4-89471-338-1。
- トーマス・マーツ 著、広田健一郎 訳『PostScript & Acrobat/PDF』東京電機大学出版局、1998年11月。ISBN 4-501-52890-7。
- トーマス・マーツ 著、広田健一郎 訳『インターネットのためのAcrobat/PDF―Acrobat4技術詳述』東京電機大学出版局、1998年11月。ISBN 4-501-53020-0。
外部リンク
- その他のサイト
関連した本
- PDF超活用バイブル (日経BPパソコンベストムック) 日経PC21 日経BP社
- はじめてのAcrobat9―PDFファイルの「作り方」から「使い方」まで、詳しく解説! (I・O BOOKS) 大澤 文孝 工学社
- 今すぐ使えるかんたんmini PDFビジネス徹底活用技 柳谷 智宣 技術評論社


