「PDF」とは・「PDF」の意味
PDFとは、パソコンやスマホで使用するデータのファイル形式のひとつである。主に、文書または画像をファイルとして保存する際に、選択する形式の候補として挙げられる。「PDF」は、「portable document format」を略した形である。1990年代に、アメリカ企業であるアドビ社によって開発された。開発された当初は、アドビ社製品を持つ者のみが使用できる、プロプライエタリな形式であった。それが2008年には、国際標準化機構によって、ISO32000として国際標準となった。それに伴って、誰もが公然と使用しても良い、オープンスタンダードな形式となっている。PDFは、文書や画像の状態を維持できるのが大きな特徴だ。PDF形式での保存は、文書や画像を印刷するレイアウトを、そのままの状態で保存する形になる。パソコンでは、文書や画像を開けるソフトは数多くある。ただ、ソフトによって、ページのサイズや1ページ当たりの行数などが異なる。そして、ソフトの設定が、端末によって異なることも珍しくない。そのため、同一ファイルであっても、使用するソフトや端末次第で、レイアウトが変わってしまう。
行数が変わると、ファイルの総ページ数が変わったり、画像が想定していない位置で途切れたりすることもあるだろう。さらに、端末によっては、対応していないフォントが使用されていることで、文字化けが発生しかねない。PDFであれば、そういったソフトや端末の違いによる変化は発生しない。レイアウトを維持した状態で保存されるからだ。どのソフトや端末を使用したとしても、フォントや行数、画像の位置などは固定される。そして、PDF形式のファイルを作ること自体は、決して難しくはない。よって、ソフトや端末の設定方法などがわからない初心者であっても、形式にPDFを選択すれば、容易に文書ファイルのやり取りができる。
また、マルチプラットフォームであり、使用する端末が限定されないのも特徴だ。パソコンやスマホなど、幅広い端末に対応している。さらに、パソコンのwindowsやmac、スマホのiosやandroidなど、osによる使用制限もない。したがって、windowsで作成したPDFファイルを、iosのスマホで閲覧するということも問題なく可能である。
PDFは原則として、文書や画像を閲覧するためのものである。そのため、多くのソフトでは、内容を編集することができない。背景透過や、目印となるトンボを付けるといった編集は、アドビ社が提供しているものを始めとする、専用のソフトが必要である。
また、セキュリティロックをかけることで、編集ソフトを使用しても、編集ができないようにすることも可能だ。これは、PDFの強みのひとつである。一度PDF形式として出力し、セキュリティロックをかけた場合、他者が内容を改ざんした上で再配布をするということができなくなる。さらに、ロックをかける際に、電子署名をすることもできる。誰が作成したものなのかを、電子署名によって明らかにすると、PDF内にある文書や画像は、正式なものとして保証される。PDFの電子署名には、法的な効力があり、簡単に保証がなくなることはない。
PDFには、電子の紙と呼ばれることがある。その別名通り、紙の代わりとして使用される場合が多い。代表的な使用方法としては、マニュアルやカタログの電子化が挙げられる。電子機器や自動車などの、紙でできたマニュアルやカタログが、PDF形式で電子化された例は数多くある。そして、セキュリティロックと電子署名によって、内容が保証されるため、公的機関の文書もPDF形式で配布されることが多い。既存の紙媒体の書類や冊子をPDF形式化すると、ペーパーレスに繋がる。そのため、コストを削減する場合には、PDFが着目されやすい。
また、紙の代わりにPDF形式のファイルで配布した場合、インターネットを使用することとなる。そうすると、郵送のためのコストが必要なくなる。そして、PDF形式のファイルを元に、サービスの申込書や行政手続きの申請書など、紙媒体の書類を用意することも可能だ。PDF形式のファイルデータを、身近にあるプリンターで印刷すれば、同じフォーマットの書類を簡単に作れる。その場合、書類の元となる紙や、印刷などの費用は、申込や申請を行う側の負担となる。配布をする側のコストにはならないため、コスト削減を重視する公的機関や企業は、PDFを選択することが多い。
PDF形式のファイルは、レイアウト全体が、ただの画像ファイルとして保存されるわけではない。文字は文字、画像は画像として保存される。そのため、紙媒体とは違い、大量の文字の中から任意のキーワードを探すということが可能だ。さらに、文書や画像のコピーもできる。したがって、コンピュータ上で文書の確認や画像の引用をする場合には、紙よりPDFが適している。
「PDF」の熟語・言い回し
PDF編集とは
PDF編集とは、PDF形式のファイルを編集することである。PDF編集を行うためには、編集専用のソフトが必要である。代表的なのは、PDFを開発したアドビ社が提供しているAdobe Acrobatである。その他にも、有償と無償を問わず、数多くの編集用のソフトがある。ただ、セキュリティロックがかけられているファイルは、編集ソフトであっても編集することができない。作成時に設定された、パスワードを入力することで編集できるようになる。
PDFで送るとは
PDFで送るとは、手元にある文書や画像を、PDF形式にして送るということである。大抵の場合は、PDF形式のファイルをメールに添付して送ることになる。文書や画像を、手元にあるレイアウトのままで他者と共有するためには、PDF形式にしなければならない。他の形式では、レイアウトが崩れたり、文字化けが発生したりする恐れがある。そのようなことにならないために、PDFで送ることが必要となる。
PDFダウンロードとは
PDFダウンロードとは、インターネット上で配布されているPDF形式のファイルを、ダウンロードすることである。メールに添付されているPDFファイルを、端末にダウンロードすることを指す場合もある。PDF形式のファイルは、ダウンロードをせずに、パソコンのブラウザやスマホのアプリで閲覧することは可能だ。環境が整っていれば、そのまま印刷もできる。しかし、そのためにはインターネットに接続する必要がある。PDFダウンロードをしておけば、インターネット接続のないオフライン状態であっても、いつでも閲覧や印刷が可能である。
いきなりPDFとは
いきなりPDFとは、PDF形式のファイルの作成や編集ができるソフトである。日本のメーカーであるソースネクスト株式会社が販売しており、文書管理ソフトとして高いシェアを誇っている。基本的な機能は別の形式のファイルを、PDF形式として出力するものである。そして、PDF形式ファイルの編集ができる機能も備わっている。また、情報漏洩を予防するために、閲覧や印刷に制限を設けることも可能だ。さらに、電子署名を付ける機能もある。そのような、PDFに関するひと通りの機能が備わっているソフトが、買い切りで利用できる。定期的に料金を支払うことなく使用できるため、企業や官公庁などで積極的に導入されている。
PDF にするとは
PDFにするとは、txtやjpegなど、すでに別の形式で保存されているファイルを、PDF形式で保存することである。レイアウトを崩すことなく文書ファイルを配布したり、様々な端末で共有したりする場合に、PDFにすることが求められる。PDFにする方法は複数あるが、PDFに対応している編集ソフトであれば、保存する際にPDFを選択するだけで済む。ソフトの中には、印刷をする形で、プリンターではなくPDFを選択することで、PDF形式のファイルを作れるものもある。また、ファイルを変換するソフトを使用して、保存してあるファイルをPDF形式に変えるというのもひとつの手である。
ピー‐ディー‐エフ【PDF】
PDF【Portable Document Format】
読み方:ピーディーエフ
別名: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)
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
![]() | この記事は言葉を濁した曖昧な記述になっています。 |
![]() | |
拡張子 | .pdf |
---|---|
MIMEタイプ | application/pdf[1] |
タイプコード | 'PDF '(半角空白を含む) |
UTI | com.adobe.pdf |
マジック ナンバー | %PDF- |
開発者 | ISO (2008年–現在) |
初版 | 1993年6月15日 |
最新版 | 2.0 (2017年7月28日 ) |
種別 | ページ記述言語 |
派生元 | PostScript |
拡張 | PDF/A, PAdES, PDF/E, PDF/UA, PDF/VT, PDF/X |
国際標準 | ISO 32000-2 |
ウェブサイト | www |
Portable Document Format(ポータブル・ドキュメント・フォーマット、PDF)は、デジタルデバイス上でアプリケーションやOS、ハードウェアに依存せず文章や図版を表示するために開発され、ISO 32000[2]で国際標準化された電子文書ファイル形式である。 PostScriptをベースにAdobeが開発し、1993年にAdobe Acrobatで初めて採用された。
概要
特定の環境に左右されずに全ての環境でほぼ同様の状態で文章や画像等を閲覧できる特性を持っている。
アドビはPDF仕様を1993年より無償で公開していたが、それでもPDF規格はアドビが策定するプロプライエタリなフォーマットであった。
2008年7月には国際標準化機構によってISO 32000-1として標準化された[3][4][5]。
アドビはISO 32000-1 についての特許を無償で利用できるようにしたが、XFA (Adobe XML Forms Architecture) やAdobe JavaScriptなどはアドビのプロプライエタリな部分として残っている。
PDFの特徴
PDFファイルは 印刷可能なあらゆる文書から生成でき、表示や印刷は各社が無料、有料で配布しているソフトウェアを利用する。
主な物にアドビが無料で配布しているAcrobat Reader(旧Adobe Reader)がある。
また、AppleのmacOS, iPadOS, iOSではOSレベルでPDFの表示、編集、作成、印刷に対応している[6][7]。
特徴
PDFには、次の特徴がある。
- 作成した文書を異なる環境のコンピュータで元のレイアウト通りに表示・印刷できる
- 文書のセキュリティを設定できる
- 圧縮してデータを格納することで、ファイルサイズを小さくできる
- しおり、リンク、注釈といった、文書を画面に表示するときに便利な機能を設定できる
- フォーム機能を使って、利用者の入力欄を受け取るような書式設定済み文書を作成できる
- 音声化などアクセシビリティに配慮した文書を作成できる
- マルチメディアに対応している
レイアウトの保持
PDFは、Acrobat Readerに代表されるPDFビューアー(表示用のソフトウェア)がインストールされているコンピュータであれば元のレイアウトどおりに表示・印刷できる。Acrobat Readerは Windows、macOS、Android、iOS など各種オペレーティングシステム (OS) に対応したものが無償で配布されており、他のPDF閲覧ソフトも数多く存在するため、PDFファイルは多くの環境で閲覧・印刷できる。
PDF以外のテキスト形式の電子文書は、ほかのコンピュータ上で元のレイアウトを保持したまま表示・印刷するのは難しい。例えば、WordやExcelなどMicrosoft Officeの文書は、対応するソフトウェアをインストールすれば閲覧することは可能だが、バージョンや設定が違っていたり、フォントの有無が原因で編集者が意図した通りのレイアウトを保てない場合がある。HTML の文書は多くのコンピュータで閲覧できる。しかし、レイアウトの制限が大きい上、OSやウェブブラウザの種類・設定でレイアウトが変わりやすい。
そのため、厳密にレイアウトを保持する必要のある文書はPDF化することが多い。ただし、フォントの設定によっては、PDFでも元のレイアウトを保持できない場合がある。この問題は、フォントを埋め込むことで回避できる。
PDFの利用場面
電子文書の公開・配布
PDFの特長は、PDFファイル作成元と異なるコンピュータ環境において、作成元文書のレイアウトや書式を忠実に再現した表示・印刷ができることにある。その性質を好んで、ウェブページ上の文書やソフトウエアの説明書などの広く公開・頒布する形態で多く利用される。また、同様の理由から、将来のコンピュータの環境変化を想定した長期保存向け文書 (PDF/A) や、 DTP の過程でPDFファイルを作成・利用する (PDF/X) 用途も多くなっている。
印刷物として制作した文書のPDF化
Quark XPressやAdobe InDesignなどのDTPソフトウェアで組版した結果のデータは、しばしばPDFファイルとして出力される。こうして作成されたPDFファイルは、印刷物と同じレイアウトの電子文書となる。一般に、PDFファイルの公開・配布は印刷物を配布するのに比べて低コストである。
そのためPDFを利用して例えば、カタログやパンフレットなどをインターネット上で公開したり、マニュアルや雑誌の収録記事をCD-ROMで配布することが多くなっている。
PDF入稿
印刷物制作時の入稿をPDFですることも増えてきている。従来は、QuarkXPress などで組版した結果のデータをそのまま入稿することが多かった。
PDF入稿には、
- 原稿作成方法の制限が小さくなる
- 画像ファイルの添付し忘れやエラーの発生を少なくできる
- データサイズをコンパクトにすることができる
などといった利点がある。
ただし作成方法によっては、商業印刷には使えないPDFファイルが生成されることもある。たとえば、紙資料をスキャンして作成したPDFファイルから商業印刷に要求される結果を得るのは難しい。目的とする印刷品質を得るためには、フォントの埋め込みや印刷時に使用する色の情報、画像解像度などをPDFファイル作成時に適切に設定する必要がある。この設定を行うにはコンピュータの操作方法ならびに印刷物とその製造工程を的確に理解していることが必須であるため、誰でも確実に行うことができるとは言い難い。PDF/Xは、こうした問題を回避するために用いられる[8]。
データの入力と収集
Acrobatは「フォーム」機能を利用し、文書入力のインタフェースとしても利用される。フォームとは記入用紙のことで、PDF内に記入欄を設け、エンドユーザーに入力させてメールで送付させる、あるいはPDFのインタラクティブ機能を使ってサーバに送信させることでデータを収集することができる。
またPDFファイルにはJavaScriptを埋め込むことができる。これにより入力のナビゲーションや入力時の値チェックなどが可能になる。
PDFの歴史
経緯
PDFは 1990年代初めに、文書共有を目的として開発された。文書の書式とインラインの図表を保持し、異なるプラットフォームのコンピュータのユーザー間で文書を閲覧するために互換性のあるアプリケーションを利用できない場合にも文書を共有できる[9]。競合としてDjVu (開発続行中)、Envoy、Common Ground[10]社の DigitalPaper, Farallon Replica[11]の他にアドビ自身が推進するPostScript format (.ps) がある。初期、 World Wide WebとHTMLが興隆する以前のPDFの主要な用途はデスクトップパブリッシングのワークフローであった。
PDFの初期の普及の足取りはゆっくりしたものであった[12]。アドビのPDF閲覧・作成ソフトAdobe Acrobatは無償ではなく、また初代バージョンのPDFは文書外部へのハイパーリンクを提供しないためインターネットの特長を活かしていなかった。またプレーンテキストと比べてサイズは大きいためモデムによるダウンロードは時間がかかり、また当時ハイスペックだったPCでも表示は遅かった。
バージョン 2.0より、アドビはAcrobat Readerを無償配布するようになった[13]。初代バージョンとの互換性は保たれており次第に書式を固定した電子文書のデファクトスタンダードの地位を確立した[14]。
2008年にアドビのPDF Reference 1.7はISO 32000:1:2008として策定された。以後のPDF(PDF 2.0を含む)開発はIS のTC 171 SC 2 WG 8においてアドビと専門家らの協力により進められている。
一覧
時 | 出来事 |
---|---|
1993年 | アドビシステムズ(現アドビ)、PDF1.0とAcrobat 1.0をリリース。 |
1994年 | アドビシステムズ、Acrobat Readerの無償配布開始。この無償配布が、PDF普及の大きな要因となった。 |
1995年 | アドビシステムズ、Netscape Navigator用のAcrobatプラグインを公開。ウェブブラウザー上でのPDF利用を促進した。 |
1996年 | アドビシステムズ、PDF 1.2とAcrobat 3.0をリリース。このバージョンからPDFとAcrobatが日本語に対応。 |
1999年 | Apple、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作成ソフトということで注目を集めた[注 1]。 アドビシステムズ、PDF 1.6とAcrobat 7.0をリリース。 |
2005年 | アドビシステムズ、マクロメディアを買収。PDFとFlashの統合が開始された。 |
2006年 | アドビシステムズ、PDF 1.7とAcrobat 8.0をリリース。 |
2008年7月2日 | ISOの管理規格となる。ISO 32000-1。 |
2008年 | アドビシステムズ、PDF 1.7, Adobe Extension Level 3とAcrobat 9.0をリリース。 |
2010年 | アドビシステムズ、PDF 1.7, Adobe Extension Level 8とAcrobat X(10.0)をリリース。 |
アドビによる仕様定義
1993-2006年にかけてアドビはPDFの仕様を数回改訂して新機能を追加している[15][16]。
PDF 1.7 (ISO 32000-1) が制定された2006年以降にアドビが定義した拡張 (Extension Levels) はISO 32000-2 (PDF 2.0) のドラフトにも一部取り込まれているものもあるが、開発者はアドビの拡張部分がPDFの標準でないことに注意する必要がある[17]。
PDFのバージョンと仕様書
バージョン | 仕様書[5] | 発行年 | 新機能 | Acrobat Reader のバージョン |
---|---|---|---|---|
1.0 | Portable Document Format Reference Manual[18] | 1993 | — | Carousel |
1.1 | First, revised[19] | 1996 |
|
2.0 |
1.2 | First, revised[19] | 1996 | 3.0 | |
1.3 | Second[20][21] | 2000 |
|
4.0 |
1.4 | Third[23] | 2001 |
|
5.0 |
1.5 | Fourth[25] | 2003 |
|
6.0 |
1.6 | Fifth[27] | 2004 |
|
7.0 |
1.7 (ISO 32000-1:2008[5][29]) |
Sixth (ISO first)[30] | 2006 (ISO 2008) |
|
8 |
1.7 Adobe Extension Level 1 | — | 2008 | 8.1 | |
1.7 Adobe Extension Level 3 | Adobe Supplement to the ISO 32000, BaseVersion 1.7, ExtensionLevel 3[33] | 2008 |
|
9 |
1.7 Adobe Extension Level 5 | Adobe Supplement to ISO 32000-1, BaseVersion:1.7 ExtensionLevel:5[35] | 2009 |
|
9.1 |
1.7 Adobe Extension Level 6 | — | 2009 |
|
9.1 |
1.7 Adobe Extension Level 8 | [38] | 2011 | X (10) , XI (11) |
ISO規格化
国際標準化機構 (ISO) によるPDF 1.7の標準化以降、仕様の改訂はISOが預かるところとなった。アドビ独自のバージョンアップは、ベースとなるバージョン (1.7) に対する "Adobe Extensions" という形で行われている[42][29]。
PDFの関連規格
- ISO 15929 および ISO 15930 標準 - 2001年策定
- PDFを元に策定された、印刷用途を目的としたファイル形式。印刷時のデータ交換をスムーズにするため、通常のPDFで使える機能を一部制限している。
- 一連のISO 19005 標準 - 2005年策定
- PDFを元に策定された、電子文書の長期保存を目的としたファイル形式。主に印刷目的として利用されていたPDFを、長期保存用に特化させたもの。ISO 19005 標準は特に欧州を中心に使われており、対応するソフトウェアも欧州製のものが多い。
- ISO 24517 - 2008年策定
- PDFを元に策定された、エンジニアリングワークフローにおける使用を目的としたファイル形式。知的権利の安全な配布やCADデータなどの複雑な3次元データなどをPDFに組み込むことを目標にしている。
- PDF/H
- ISO未策定。ヘルスケアに関するデータを交換、保存するのを目的としたファイル形式。[43]
- ISO 14289-1 - 2012年8月策定
- ユニバーサルアクセスへの対応を目的としたファイル形式。視力や運動能力に障害のある人にも利用できるように特化させたもの。[44]
- ISO 16612-2 - 2010年策定
- 可変データやトランザクション文書を扱うのを目的としたファイル。[45][46]
- PAdES
- ISO32000-2に含まれる予定。PDF文書の長期保管を目的としたPDFの拡張。欧州電気通信標準化機構により策定ならびに公開される予定。
PDF 1.7
PDF 1.7の仕様書の最終版は 2008年1月に ISO Technical Committee 171にて採択され,2008年7月1日にISO 32000-1:2008 Document management – Portable document format – Part 1:PDF 1.7として公開された。
ISO 32000-1:2008 はPDFの機能を全て定義した初の規格である。それ以前にISO PDF規格になったもの (PDF/A, PDF/X, 等) は特定分野に適用される物である。ISO 32000-1はAdobe PDF仕様1.0から1.6で定められた物を網羅しているが、以前のバージョンの一部の機能はアドビにより削除されており、PDF 1.7についても同様である。[5]
ISO 32000-1の文書はアドビの PDF Reference, sixth edition, Adobe Portable Document Format version 1.7, November 2006 を元にしており、ISO Technical Committee 171 (ISO/TC 171), Document management application, Subcommittee SC 2, Application issuesによるファストトラック (Fast-track procedure) 制度[注 2][47]により審査された。
ISO PDF 規格の要約 (abstract) には以下のように記述されている。:[48]
ISO 32000-1:2008 は電子文書のユーザーが交換と閲覧を行うにあたり、作成した環境に依存することなく再現し、閲覧および印刷するための形式を定義する。その目的とするところはPDFファイルを作成するソフトウェア、既存のPDFファイルを閲覧およびコンテンツを画面に表示するよう解釈しユーザーと対話するソフトウェア、またその他の用途のためにPDFファイルを読み書きする各種製品の開発者に供するものである。
ISO 32000-1 の中にはアドビのプロプライエタリな仕様の部分がいくつか引用規格とされており、(Adobe Acrobat JavaScriptやXFA (XML Forms Architecture) など) ISO 32000-1[5]に準拠するためにはこれらが不可欠となっている。
PDF 2.0
新しいバージョンのPDF規格はISO/CD 32000-2 - Document management – Portable document format – Part 2:PDF 2.0[49]として策定され、2017年7月に公開された。[50]
新機能
新機能としては以下のようなものが紹介されている。[51]
- 暗号化された文書を非暗号化された文書でラップできる。すなわち、だれにでも読める表紙ページが付いたセキュアなPDF文書を作成できる
- リッチメディア注釈の導入。地理情報やPRC(3Dフォーマット)のサポート
- PDF/A-3にて最初に導入された、添付ファイルについての機械解釈可能なメタデータが付加できるようになった
- タグ付きPDFに関する14.8章の完全な作り直し。タグセットの見直し、名前空間の導入、MathMLのサポートと発音ヒントの導入など。アクセシビリティの向上に伴いテキスト抽出や軽量デバイス向けのHTMLにコンバートするのが容易になるなど。
- デジタル署名が最新の規格に適合するようアップデートされた。ユーザーにデジタル署名されたPDFの検証が可能になった。
- 現時点でのスタンダードであるAES-256暗号化のサポート
拡張された機能
既存の仕様から改良されたものは以下の通り。
- 注釈について透過、合成モード属性の追加
Polygon/Polyline real paths
- 256bit AES暗号化
- ECC 準拠の証明書
- Unicode準拠のパスワード
- Document requirement extensions
- ページ単位、および外部から指定可能な出力インテント
- 添付ファイルのサムネイル
- 画像、フォームの XObjects に対する Measurement & Point Data
- ビュワーに対し印刷倍率の設定を強制できる
GoToDp
およびRichMediaExecute
アクションGoTo
およびGoToR
を拡張して一部の構造化エレメントへのリンクが可能に- 署名フィールドのロックと署名シード値の拡張
- 三次元寸法および3D表示条件の拡張(透過を含む)
- 構造化要素の追加。
DocumentFragment
、Hn
(深度6以上の見出し)、Title
、FENote
、SUb
、Em
、Strong
、Artifact
- 出力インテントの拡張 (
MixingHints
およびSpectralData
)
廃止された機能
- XFA
- ムービー、サウンド、(PDF/Xの)
TrapNet
注釈(リッチメディア注釈により代替) - ムービー、サウンド アクション
Info
辞書- DRMについての制限
ProcSet
(PDFページ記述演算子)- ファイル仕様とLaunch アクションに関するOS依存の仕様部分
XObjects
とフォント の名前- 合成モードのアレイ(配列)
- 代替プレゼンテーション
- Open prepress interface (OPI)
CharSet
(For Type 1 fonts)CIDSet
(for CID fonts)- Prepress viewer preferences (
ViewArea
、ViewClip
、など) NeedAppearances
(フォームの見え方についての指定)adbe.pkcs7.sha1
およびadbe.x509.rsa_sha1
署名ハンドラ- FDF ファイルの暗号化
- Suspects flag in MarkInfo dictionary
- UR signature
PDF 2.0の提案は2009年にISOに受理された。(ISO/NP 32000-2) TC 171 SC 2 WG 8 委員会は文書の作成のほか、寄せられる多数の技術的、編集面のコメントへの対応、各種課題ごとに関心を寄せる組織たちで構成されるアドホックな下位委員会8つの運営などのために活動している。 規格の開発は"照会段階"/"国際規格案"の段階まで進んでいたが、文書の整備に本プロジェクトは中止され、新しいプロジェクトが立ち上げられた。2014年中に2つめの"委員会原案"が提出される予定である。[49][52][53]
AdobeはAdobe Extension Level 5 と Adobe Extension Level 3 をISO 32000-2 に盛り込もうとしたが、そのうち一部の機能だけが採用されている。
ISO委員会のPDF 2.0開発の目標には、機能の進化的な拡張のほかに、PDF言語のリファインや現在[いつ?]使われなくなっている機能(例:フォームのXObject names等)の廃止による、またアドビのプロプライエタリな仕様(例:Adobe JavaScript、リッチテキスト等)の標準化が含まれている。[54][55]
PDF 2.0ではアドビの XML Forms Architecture 3.1 を参照しようとしており、2011年にISOの委員会はアドビにXFA仕様書の提出を求め、またXFA仕様を安定化させるよう求めている[56]。
ISO TC 171 SC 2 WG 8
(TCは「専門委員会」、SCは「分化委員会」、WGは「作業グループ」の略)
2008年にISO標準を策定するために設置された。
作業グループ8は年に二度会合を開き、10カ国以上より参加者が集まる。ISO 32000の委員会のミーティングは認定された主題専門家に対しオープンとされている。関心を持つ団体は、ISOの会員団体に参加について問い合わせる。
現在[いつ?]のプロジェクトのリーダーシップはシェリー・エクホルム(マイクロソフト) 、副リーダーはダフ・ジョンソン(独立コンサルタント)が担当している。 以前のリーダーは 2008年より2011までジェイムズ・キング博士(アドビシステムズ)が担当した。ISO幹事はベッツィー・ファニング(AIIM)。
技術的な基盤
PDFの読み書きを行うソフトウェアは誰でも開発することができ、アドビにライセンス料などを支払う必要はない。アドビはPDFについて特許を保有しているが、仕様は無料で自由に参照することが出来る。[57]
PDFは3つの技術的な柱から成り立っている。
- レイアウトとグラフィックを生成するためのPostScriptページ記述言語のサブセット
- 異環境での表示のためのフォントの埋め込み、代替の仕組み
- 文書、グラフィック、添付ファイルを単一ファイルにまとめて圧縮する構造化ストレージ
PDFとPostScript
PDFは、アドビシステムズが開発し印刷業界の標準として普及していたページ記述言語PostScriptを元に策定された。
PDFでは、コンピュータ上でのデータ交換のために次の機能が追加されている。
- ファイルに含まれる各ページへのランダムアクセスに対応。この機能により、必要なページをすばやく表示できる。PostScriptでは前のページの処理結果がないと現在ページの描画が出来ない場合があるが、PDFでは各ページで完結したコンテンツにされる。
- フォントの埋め込み
- 文書情報など、本文以外の情報を入力できる。PDFではしおり・リンク・注釈なども本文とは別の情報として扱われる
- 透明の概念(後にバージョン1.4で追加)
PDFには、PostScriptの持っているプログラミング言語としての機能はなく、HTMLなどと同様のデータ記述言語となっている。たとえばPostScriptのif
やloop
といったプログラム用命令は取り除かれている。一方lineto
などは残されている。これはファイルを開いた場合にエラーが発生する可能性を小さくし信頼性を高めるためという事と同時に、PostScriptが持つ特徴の一つである、インタプリタによる実行環境への依存性を極力排除していく方向性からである。
このように元々PDFはPostScriptから発展・派生したという経緯を持つため、PostScriptとPDFは似た特性を持っており、相互の変換は比較的容易である。実際、Acrobatに含まれるDistillerでは、各種アプリケーションのデータをいったんPostScriptファイルに変換(WindowsやMacintoshではプリンタードライバを経由する形で行われる)し、それを元にPDFを生成している。しかし、PDFを作成するには、必ずしもPostScriptを経由する必要はなく、例えばGDI経由で直接PDFを作成することも可能であり、実際にそういった形で動作(GDI→PDF)する製品は多数存在する(「いきなりPDF」もこのタイプである)。
旧バージョンのQuark XPressなどからPDFファイルを作成するには、PostScriptファイルを生成したうえで"Distiller"というAdobe Acrobatに添付のソフトを使ってPDFファイルに変換するのが一般的である。また、Adobe InDesign、Illustrator、PhotoshopやQuark XPress(バージョン6以降)を使うと、Acrobatなどは使わずに直接PDFファイルを作成できる。
技術概要
PDF文書は1以上のページで構成され、各ページにはテキスト・画像・図形が含まれる。
PDFファイルの生成には、アドビシステムズ社純正の「Adobe Acrobat」やサードパーティー製品を利用する方法がもっとも基礎的である。さらに、クラウド形態などによりサーバサイドでPDFファイルを作成するシステムや、PDFファイル生成とは異なる主目的をもつソフトウエアが PDFファイルを生成する補助機能を搭載している場合もある。
PDFファイルの表示や印刷は、第一にAcrobat Readerなどの専用のビューアーアプリケーションを用いる方法がある。ウェブ上で公開されているPDFファイルについては、パソコンのウェブブラウザ上で閲覧できることがある。当初はAcrobat Readerのプラグインを用いていたが、現在[いつ?]Google Chrome[58]、Mozilla Firefox[59]、Microsoft Edgeなど、PDF表示機能を内蔵する製品も登場している。しかし、これらの製品でも、スマートフォン向けでは、PDF表示機能が除外されている。
PDFの仕様は、ISOで標準化される以前からアドビシステムズから公開されてきている[60]。そのため、アドビシステムズ以外のさまざまな企業・団体や有志が、PDF関連のソフトウェアを開発・公開しており、オープンソースソフトウェア、フリーウェアも数多い。
ファイル構造
PDFファイルはCOS ("Carousel" Object Structure) のサブセットである。COSのツリー構造は以下の8種のオブジェクトで構成される。
- ブーリアン値
- 数値
- 文字列
- 名前
- 配列:オブジェクトに順序を与えた集合
- 辞書:オブジェクトに名前を与えた集合
- ストリーム:大きなデータに使われる
- ヌルオブジェクト
オブジェクトはobject number とgeneration numberで番号付けされ、xref table表が各オブジェクトのファイル先頭からのオフセットを記述する。
この利点はファイル内のランダムアクセスを容易にすることで、またファイルの変更があった際に変更点を追記するだけでファイル全体の書き直しを行わなくてよくなる。 PDFのデータ配置は リニア(最適化)とノンリニア(最適化なし)の2種類がある。最適化なしは、PDFの変更箇所がファイル末尾に追記された状態であり、デメリットはファイル全体をダウンロードしてからでなければファイルの表示内容を確定できないことである。最適化された場合は、末尾にあった変更点が各ページに適用されて、Webで表示させる場合などに好きなページから表示させられるメリットがある。
イメージモデル
PDF内の画像の記述方法はPostScriptに近く、相違箇所は透明の有無である。透明はPDF 1.4で追加された。
ベクター画像
ベクター画像はパスで記述された物で、直線、方形、ベジエ曲線で構成される。 図形を記述するだけでなく、文字のアウトラインを記述する場合もある。 パスはストローク、塗りつぶし、クリッピング(切り抜き)に使われる。ストロークと塗りつぶしは自由な色、模様を指定できる。 模様はタイリング、色なしのタイリング、シェーディングを指定できる。
ラスター画像
ラスターイメージ(Image XObjectsと呼称)は、PDF内では辞書と、関連づけられたストリームで表現される。辞書には画像のプロパティが記述され、ストリームにはイメージデータが記述される。画像は複数の圧縮方式でフィルターされる。サポートされるフィルターは以下のものがあり、用途に応じて画質とサイズのバランスを選ぶことができる。
ASCII85Decode
- ストリームをASCIIの7ビットで表現するもの
ASCIIHexDecode
- ASCII85Decodeに近いがよりコンパクトになる
FlateDecode
- zlib/deflate(いわゆるgzip形式。ZIPではないので注意)アルゴリズムで圧縮するもの。;PDF 1.2より実装
LZWDecode
- LZWアルゴリズムで圧縮するもの。
RunLengthDecode
- ランレングスアルゴリズムによるシンプルな圧縮
DCTDecode
- JPEGに採用された 非可逆圧縮
CCITTFaxDecode
- CCITT (ITU-T) faxで規定された 可逆 2値 (黒/白)圧縮。Group3とGroup 4がある
JBIG2Decode
- JBIG2標準で定義された黒白二値の形式。可逆、非可逆が選べる。PDF 1.4より実装
JPXDecode
- JPEG 2000標準で定義された形式。可逆、非可逆が選べる。PDF 1.5より実装
テキスト
テキストはPDF内のコンテント ストリーム内でテキスト エレメントとして記述される。テキストエレメントはどの文字がどの座標に表示されるかを定義し、どのフォントとエンコーディングを使うかも記述する。
フォント
フォントオブジェクトは、タイプフェースを記述する。どのフォントを使用するか記述するほかに、フォントファイルの埋め込みもできる。 埋め込めるフォントはType1、TrueType、OpenTypeがある。
標準Type1フォント(標準14書体)
以下の14書体については、ソフトウェアは必ず装備するか、同じ寸法の代替フォントを装備しなければならない。ソフトウェアは以下のフォントの寸法について情報を保持し、もしPDFに埋め込まれていない場合は同じ寸法の代替フォントで表示する。
- Times (v3) (標準、斜体、太字、太字斜体)
- Courier (標準、斜体、太字、太字斜体)
- Helvetica (v3) (標準、斜体、太字、太字斜体)
- Symbol
- Zapf Dingbats
フォントの埋め込みの注意
電子文書を正しく表示するためには、フォントが正しく設定されている必要がある。一般に、文書作成時に使用されているフォントがインストールされていないコンピュータでは、文書を正しく表示・印刷できない。例えばヒラギノフォントを使って作成した文書は、このフォントがインストールされていないコンピュータでは代替の日本語フォントで表示する必要がある。さらに、日本語フォントがインストールされていないコンピュータではエラーや文字化けが発生し、正しく表示できない。
PDFの文書では、使用しているフォントを埋め込むことで、そのフォントがインストールされていないコンピュータでも正しく表示・印刷できる。フォントを埋め込む方法は2つあり、当該フォントに含まれているすべてのグリフ(字形)を埋め込む方法と、文章に使用されているグリフのみを埋め込む方法である。これらの選択は、PDFを作成する際に行う。フォントを埋め込んで作成したPDFの日本語文書は、日本語フォントがインストールされていないコンピュータでも正しく表示できる。
ただし、フォントを埋め込んだPDFファイルはファイルサイズが大きくなるという問題がある。また、フォントを埋め込む場合は、フォントのライセンスにも注意する必要がある。
エンコーディング
テキストストリーム内では、文字は文字コード(番号)によって記述される。WinAnsi、MacRomanのほか東アジアの各種言語のエンコーディングが定義されているほかに、フォント自身に独自のエンコーディングを持つことも出来る。 基礎がType1フォントを前提に作られたので、TrueTypeフォントなどを記述する場合は、非常に複雑な記述になる。
日本語のエンコード
文字コードについては、全ての文字列が独自のルールで英数字にエンコードされる。英語文書の場合はある程度解読できるが、多バイト文字になると非常に複雑なルールでエンコードしなければならない。
それで得られるメリットは、処理系にかかわらず文字を正確に区別できることで、例えばJIS90形式の文字とJIS2004形式の文字はJIS、Unicode上では同じ文字コードでありながら字形が異なる文字があり、普通の処理系ではどちらかのフォントしか表示できないが、PDF上では一緒に記述できることが挙げられる。[61]
しかしながら例えばWindows 2000とWindows Vista間ではMS明朝、MSゴシックのフォントのバージョンは異なり、フォントを埋め込まないようにPDFを作成すると、片方の環境では文字が全面的に文字化けするケースがある。
また、フォントが埋め込まれているため文字化けしていないように見えても、文面をクリップボードにコピーしてエディタに貼り付けると、テキストストリームが異機種のエンコーディングになっていて文字化けするケースもある。
Adobe製品は比較的問題が起こりにくいが、サードパーティー製品や海外製のソフトウェアでは現在[いつ?]もこの種の問題に遭遇することがある。
インタラクティブ性
PDFファイルには、音楽、動画などのマルチメディアファイルを含めることができる。そのためPDFファイルは、コンピュータを使ったプレゼンテーション用に使うこともできる。2005年にアドビシステムズがFlashの開発・推進を進めてきたマクロメディアを買収し、アドビシステムズによるFlashとPDFとの統合がかつて進められていた。Flashは2020年に開発・サポートが終了している[62]。
そのためAdobe製品によるPDF表示では、Flash形式のファイルが埋め込まれていてもプラグインなどをインストールせずに再生することが出来る。しかしQuickTimeはサポートされない。これはAppleとAdobeの敵対的な関係を示しており[要出典][63]、そのためAppleのiOSデバイスではリッチメディアPDFはインタラクティブ性が損なわれる。
またフォームはユーザーに入力させるメカニズムで、AcroForms(PDF 1.2より)と Adobe XML Forms Architecture(XFA)(PDF 1.5より) の2種類が使える。[64]XFA仕様はPDF仕様に含まれておらず、オプション機能として言及されているだけである。
AcroForms
PDF 1.2より導入され、テキストボックスやラジオボタンなどのオブジェクトとJavaScriptを記述することが出来る。PDFの標準のアクションに加え、AcroForms は内容の送信、リセット、取り込みができる。送信機能はフォームの内容を特定のURLに送信する。 送信形式は以下の種類がある。
- HTML Form format(HTML 4.01 形式は PDF 1.5より;HTML 2.0 形式は PDF1.2より)
- Forms Data Format (FDF)
- XML Forms Data Format (XFDF)(external XML Forms Data Format Specification, Version 2.0;PDF 1.5より;PDF 1.4で実装された"XML" フォーム送信形式の代替)
- PDF (PDFの内容全部を送信できる)(PDF 1.4 にて定義)
AcroFormsはフォームフィールドの値を外部の独立したファイルに キー:値 のペアで格納することができる。外部ファイルとしてはForms Data Format (FDF) とXML Forms Data Format (XFDF) の2種類がある。 [65][66][67]
Forms Data Format (FDF)
拡張子 | .fdf |
---|---|
MIMEタイプ | application/vnd.fdf[68] |
タイプコード | 'FDF' |
開発者 | アドビ |
初版 | 1996年 | (PDF 1.2)
派生元 | |
拡張 | XFDF |
国際標準 | ISO 32000-1:2008 |
オープン フォーマット | Yes |
Forms Data Format (FDF) はPDFを基盤にしており、同じ文法と基本的に類似したファイル構造をしているがPDFよりはbodyに必要なオブジェクトが1個だけである分単純である。FDFはPDF仕様書に記載されている。(PDF 1.2より) FDF形式はデータをサーバに送り、応答を受け取り、フォームに内容を反映するのに使用できる。また単体ファイルとしてエクスポートさせ、PDFのインタラクティブ フォームに取り込む使い方も出来る。 PDF 1.3からは、FDFはアノテーション(注釈)を適用対象のPDFから独立して格納するコンテナーとして定義できるようになった。典型的なFDFはX.509 certificatesや認証リクエスト、ディレクトリ設定、タイムスタンプサーバー設定、その他添付のPDFファイルなどの情報をネットワーク送信のためカプセル化する。 [67] FDFのMIMEコンテントタイプは application/vnd.fdf で, ファイル拡張子は.fdfになる。Macのファイルタイプは'FDF'。[64] FDFの単体ファイルへのインポート、エクスポートはフリーウェア系PDFソフトウェアでは広く実装しているとは言えない。その例としては、Evince、Okular、Poppler、KPDF, Sumatra PDF が挙げられる。ただしEvince、Okular、PopplerはAcroformsにデータを代入して保存させることなら出来る。単体FDFのインポートを実装しているソフトウェアとしてはAcrobat Readerがあり、インポート、エクスポート両方を実装するものとしてはFoxit ReaderとPDF-XChange Viewer Freeが挙げられる。PDFファイルへのFDFデータの保存についてはpdftkにも実装されている。
XML Forms Data Format (XFDF)
Adobe XML Forms Architecture (XFA)
論理構造とアクセシビリティ
「タグ」機能により、PDFのコンテンツにはセマンティックな(意味に基づく)構造と関連が記述できるようになり、これによりPDFの順序付けた読み上げか可能になった。
タグ付きPDFは印刷用途のPDFには必要ないためオプション扱いとなっており、ISO32000-1の記述も曖昧な物になっている。
技術の特筆点
![]() |
スキャンした文書
紙資料をイメージスキャナなどを使って電子文書にする場合も、PDFが利用されることが多い。
紙資料を電子文書化するとき、PDFを利用しない場合には、TIFFなどの画像ファイルとして保存する方法と、OCRソフトウェアを使ってテキストとして保存する方法がある。画像ファイルとして保存された電子文書は画面上で見る場合には紙資料と同じ内容が再現できるものの、文章や文字をコピーすることができないなどテキストの再利用に大きな制限がある。また、OCRソフトウェアを使って作成したテキストファイルではテキストの再利用は可能となるが、OCRソフトウェアの精度の問題もあり、元の内容を完全に再現できない場合が多い。
PDFを利用すれば、紙資料をスキャンした画像の上にOCRソフトウェアで変換して作成した透明テキストを重ね、1つのファイルとして保存することができる。こうしたPDFの文書では、画面上で見る場合には紙資料の内容を完全に再現でき、不完全ではあるがテキストの再利用もできる。例えば、Acrobatにはバージョン6.0以降のStandard版以上でOCR機能が標準で搭載されるようになった。
アクセシビリティ
PDFの役割は印刷物をスクリーンに再現するだけではない。視覚障碍者向けの対応として、バーチャルな印刷物にとどまらず、XMLによる"タグ"を埋め込むことが出来る。これはページ内コンテンツの論理的な構造を表し、読み上げソフトを使う場合にどの順序で読むべきかなどの情報を提供する。PDF作成用ソフトウェアによってタグ生成への対応度は分かれ、またデフォルトでタグ生成を有効にしていないソフトもある。特に紙からスキャンしてPDFを生成する場合はタグは軽視され、障碍者にとって障壁となることが多い。
PDFのアクセシビリティ対策は(i)フィジカルなビュー(普段目にする印刷物的な表示)と、読み上げソフトウェアが使用する(ii)タグのビュー、そして(iii)PDFを構成するテキストやグラフィックのオブジェクトのストリーム(タグがない場合には読み上げソフトはこのテキストストリームを読みにいく)という3つのビューの整合性を取るという困難な作業を伴う。
ウイルスと脆弱性
閲覧に使用したコンピュータのウイルス感染
PDFはセキュリティが考慮されていない古い時代のフォーマットである。脆弱性のあるAcrobat Readerで有害なJavaScriptを含むPDFファイルを開くと、コードが実行され、パソコンがウイルスに感染する。同時に、ダミーのPDFファイルを表示させて、ユーザーがウイルス感染を気付かないようにする。その脆弱性を悪用した攻撃があり、2009年12月以降、日本で話題になっている「Gumblar」もPDFを媒介としている。
対策として、リーダの最新版へのプログラムアップデートがあるが、新たな脆弱性が発見されてからアップデートまでに時間が必要である。ユーザーによる不要な機能の無効化(例えばAcrobat ReaderにおけるJavaScriptエンジンの無効化)を併用することが推奨される。
権利コントロール
セキュリティと電子署名
PDFファイルには、情報の機密性を保つために、閲覧パスワード(ユーザパスワード)と編集パスワード(オーナーパスワード)、公開鍵方式の暗号化を設定することができる。
閲覧パスワードが設定されていると、利用者は正しい閲覧パスワードを入力しないとPDFファイルを開けない。編集パスワードが設定されている場合、閲覧だけならパスワード入力は不要であるが、次の作業をするには正しい編集パスワードを入力して設定を解除しなければならない。
- 編集
- 印刷
- テキストや画像などのコピー
この機能を使うことにより、ユーザの画面上では表示できるものの、コンテンツ内の文章をコピー・アンド・ペーストできないようしたり、文書内の写真の印刷ができないよう設定した文書を配布したりできる。
しかしPDFのパスワードを解除するソフトウェアも多く流通しており、2014年現在ではPDF 1.6などの古い形式のファイルは1秒もかからずパスワードが解除されてしまうケースがある。数年後にはツールで解読されてしまうということを考慮する必要がある。
DRM
Adobe LiveCycle製品群ではDRMを実装しており、エンドユーザーに配布されたPDFに対して、後から閲覧権限を変更することができる。応用の一例としては、配布されたPDFの内容が古くなってしまった場合に閲覧禁止として、新しい版をダウンロードするよう求めるような例がある。
デフォルトの画面設定
PDFは表示するソフトウェアの挙動を定義することが出来る。 例えばしおりのウインドウを最初に開くか、またツールバーを表示するかどうか、などを文書に記述できる。
ソフトウェア
PDFの生成、閲覧用ソフトウェアは各種プラットフォームで提供される。macOSとほとんどのLinuxディストリビューション、LibreOffice、Microsoft Office 2007(要SP2アップデート)、WordPerfect 9、Scribus、Windows向け各種プリントドライバ、pdfTeX組版システム、DocBook PDFツール、Ghostscript製品群、アドビのAdobe AcrobatとAdobe FrameMaker、GoogleのオンラインオフィススイートであるGoogle DocsはPDFに出力する機能を装備している。
ラスターイメージプロセッサ (RIP) は、PDFをラスターイメージラスターイメージ に変換して、紙などの媒体に出力するために使用され、DTP分野ではラスタライズと呼ばれる。 PDFの処理能力を備えるRIP は、アドビのPDF印刷エンジン[69] または、サードパーティー製品 Jaws[70] や Global Graphics社のHarlequin(ハーレクイン)RIP[71] を組み込んでいる。
PDFファイルの閲覧と印刷
Windows環境におけるPDFファイルの表示や印刷には、アドビシステムズから無料で配布されているAcrobat Readerを使うのが一般的である。Acrobatがインストールされている場合は、AcrobatでPDFの表示や印刷ができる。macOSではOSに標準で付属する「プレビュー」を利用できる。その他のOSについても、PDF閲覧ソフトに付属している印刷機能や、OSの印刷機能を利用して印刷できる場合が多い。
PDFファイルの検索
Web上のPDFファイルは、Googleなどで検索できる。また、コンピュータ内のPDFファイルは、AcrobatとAcrobat Readerによる全文検索が可能だが、検索用インデックスを作成した高速全文検索を利用するためにはAcrobatのProfessionalバージョン(6.0以降)やGoogleデスクトップ、Mac OS X Tiger以降に付属するSpotlightなどが必要となる。
PDFファイルの作成と編集
PDFファイルの作成には、アドビシステムズのAcrobatを利用するのが一般的である。macOSではOSの標準機能で各種文書をPDFファイルに変換できる。LinuxなどUnix系OSの印刷システムであるCUPSにはPDFファイルの出力機能がある。そのほかにも、後述するLibreOfficeなどオープンソースのものも含めて、数多くのPDF作成ツールがある[72][73]。
Acrobat
Acrobatでは、データを各種ソフトウェアから「Adobe PDFプリンタ」へ印刷することでPDFファイルを作成できる。この操作の場合、Acrobatに含まれるDistillerでPDFファイルを作成することになる。また、Microsoft OfficeではAcrobatに含まれるPDFMakerで文書をPDFに変換できる。PDFMakerはDistillerを呼び出すとともに、しおり・ハイパーリンク・注釈などを自動的に作成する。
Adobe PDFプリンタによる方法以外としては以下のような作成手法を備えている。
- Acrobat から直接、単数もしくは複数の画像ファイルを指定して、PDF化することが出来る。市販のデジタル写真集などでも利用されている。
- Web Capture機能によりウェブページを直接PDF変換する。階層を指定することでハイパーリンク構造も再現できる。
- イメージスキャナから直接画像を読み取り、PDFに変換できる。
様々な文書データのPDF化
Microsoft Officeや一太郎などで作成した文書データも、PDF化されることが多い。PDFの文書は、Microsoft Officeなど文書作成時に使ったソフトウェアをインストールしていないコンピュータでも表示・印刷でき、コンピュータの環境によってレイアウトが変わる可能性も小さくなる。
Microsoft Officeの文書はPDF化しなくても、マイクロソフトから無償配布されている表示専用ソフトウェア(Word ViewerやExcel Viewerなど)で表示させることができる。しかしこうしたソフトウェアは、Acrobat ReaderなどのPDF表示用ソフトウェアと比べると、対応しているOSが限られていることもあり、インストールされていない、またはできない場合が多い。そのため、不特定多数の人を対象にした文書はPDF化することで正しく表示される可能性が高くなる。
PDFの作成には、Microsoft Officeからはプリンタとしてインストールされる「Adobe PDF」や「Acrobat Distiller」を利用してPDFを作成することができる。なお、32bit版Officeについては、Acrobatに含まれるマクロの「PDF Maker」を利用し、より簡単なPDFの作成が可能になっている。
2007 Microsoft Office System (Microsoft Office 2007) では追加アドインを加えることでPDFを出力する機能が追加された。また、Microsoft Office 2007 サービスパック 2では標準機能として追加され、別アプリを利用することなしにPDFを作成することができる。このPDF作成機能はMicrosoft Office 2010 (x86 / x64) にも引き継がれている。
一太郎の「2011 創」以降のバージョンでは、一太郎文書から直接PDFを作成することもできる。それより前のバージョンでは、CubePDF等の無料仮想プリンタドライバを用いて作成する事ができる。
オープンソースソフトウェアのLibreOfficeは標準でPDF出力に対応しており、PDFにODFファイルを埋め込みLibreOfficeで編集可能なPDFを作成するハイブリッドPDF[74]や長期保存向けのPDF/A、ユニバーサルアクセシビリティ対応のPDF/UA[75]での出力や、PDFへの電子署名にも対応している。また、LibreOffice Drawを利用して、PDFファイルを直接、編集したり機密情報を消すための墨消しも行える。
LaTeXとPDF
LaTeXで作成した文書をPDFに変換する機能も持つツールも開発されている。
- PDFLaTeXはLaTeXソース文書を読み取り、そのままPDF形式に出力できる[注 3]。
- dvipdfm(x)はLaTeX標準の中間形式であるdvi形式のファイルをPDFに変換できる。
- これらPDFを直接扱う方法ではなく、LaTeX標準のdvipsや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は、元にしていたPostScriptの仕様が複雑だったため、簡略化したとはいえやはり複雑な仕様である。また、PDFのバージョンアップとともにさまざまな機能が追加されたため、仕様はますます複雑になっている。
このため、PDFの文書およびソフトウェアはサイズが肥大化する傾向にあり、ソフトウェアの動作が重く、メモリの使用量が増大しがちである。
例えば、Acrobat6ではソフトウェアのサイズが大きく、起動に時間がかかるなど動作が重いため、敬遠する人も多かった。Acrobat7になって起動時間は短縮したが、ソフトウェアのサイズは相変わらず大きく、動作の重さを感じる場面もある。その配慮として、PDF以外の形式による文書(Word文書、Excelワークシートなど)も公開しているサイトもある。
また、仕様が公開されているとはいえ、PDFの複雑な仕様に完全に対応するソフトウェアを作成するのは難しい。
再利用が困難
PDFは、文字のレイアウトが崩れにくい。作成者の意図がこれ以上改変されていないという保証を担保した最終成果物として、限定または不特定多数の利用者に公開するのには適している。しかし文字列の抽出や他形式にコンバートを試みると困難に直面する。というのは何も加工されていないPDFでは、ある文字列のブロック、隣接または上に重なる文字列やグラフィックとの論理的な対応関係を示す情報が乏しいためである。 言い換えれば、PDF上では文字列が、変換元文書にあったコンテキストを無視した文字の羅列になってしまうのである。これはKindleをはじめとする、画面の小さいビューアー用フォーマットへの変換を困難にする。また視覚障碍者向けの拡大表示、読み上げなどアクセシビリティにとって障壁となる。
この問題点に対応するため、PDFには「タグ」機能が「Adobe Acrobat 2017」で追加され、PDFへの変換時に文字列がどの順番で読まれるべきか、見出しとの関係などの情報が追加されるように改善された。しかし、紙をスキャナー機でスキャンまたはスマホ上で撮影して作成されたPDFではタグは軽視されることが多い。
HTMLとの比較
PDFは画面で見るには、ユーザビリティが不十分な側面がある。特に、スマートフォン普及以前の規格であるため小型端末では扱いにくい[76]。ユーザビリティ(閲覧しやすさ)に関して、ヤコブ・ニールセンはPDFを「オンラインの閲覧用に使ってはならない」、と結論づけている[77]。
- ユーザビリティに十分配慮して作成されたHTML文書と比べると、PDFは扱いにくい面がある。PDFはウェブブラウザーでの表示用に最適化(リニアライズ)されていないと、文書の一部分だけを参照したい場合でも、最初から最後まですべてのデータを閲覧端末に読み込む必要がある。Acrobatなど既定でウェブブラウザーでの表示に最適化したPDFを作成するソフトも多いが、廉価・無償のPDF作成ソフトではウェブブラウザーでの表示に最適化する機能がないものがある。このようなPDF作成ソフトで作成されたPDFをウェブブラウザーで表示すると、表示開始までの待ち時間が長くなる。
- ナビゲーションのために、しおり、PDFのページ間(内部)リンクやPDF外部へのリンクを文書の任意の箇所に設定することも可能であるが、これを利用するには、PDF作成時に素材データの中で設定するか、(Readerでない)Acrobatなどのしおり・リンク編集機能をもつソフトで追加する必要がある。この点は、ソースに参照したい箇所をテキスト情報として付記するだけで済むHTMLに比べれば煩雑である。
- ほとんどのPDF文書がA4縦長で作られているが、PC画面は横長であることが多く、A4縦長文書を等倍で表示させにくい。ディスプレイは印刷物に比べて解像度が低いため、寸法の小さいパーツは見えにくい。HTMLは、ブラウザがウィンドウのサイズに合わせて再整形するのでこのような問題は少ない。
- PDFの長所であったフォント埋め込みに関しても、Webフォントが登場したためネット通信があればHTMLではWebフォントを使用可能。
- アクセシビリティの観点からも、PDFでは文書の作成時にタグ付きPDFとしなければならない点などを考えると、HTMLや単純なテキスト形式の方が扱いやすい。
脚注
注釈
出典
- ^ “RFC 8118 - The application/pdf Media Type” (英語). 2017年3月20日閲覧。
- ^ “ISO 32000-1:2008 Document management — Portable document format — Part 1: PDF 1.7”. 2021年3月22日閲覧。
- ^ Yoichi Yamashita(マイコミジャーナル) (2008年7月3日). “PDF 1.7がISO 32000-1として国際標準化”. 毎日コミュニケーションズ. オリジナルの2009年5月31日時点におけるアーカイブ。 2008年7月17日閲覧。
- ^ 垣内郁栄(AtmarkIT) (2008年10月28日). “PDFのISO規格化で得たものと失ったもの:担当者が振り返るPDF1.7標準化の道のり”. ITmedia 2014年5月19日閲覧。
- ^ a b c d e “ISO 32000-1:2008 - Document management – Portable document format – Part 1:PDF 1.7”. Iso.org (2008年7月1日). 2010年2月21日閲覧。
- ^ “Macで書類をPDFとして保存する”. Apple Support. 2023年8月23日閲覧。
- ^ “iPhone や iPad のブック App で PDF を保存および編集する”. Apple Support (2022年10月24日). 2023年8月23日閲覧。
- ^ 吉田印刷所. “PDF形式の7つのメリット~なぜ印刷にはPDFが適しているのでしょうか?”. 特売プレス+吉田印刷所 DTPサポート情報Blog. 2017年3月13日閲覧。
- ^ “The Camelot Project” (PDF) (英語). 2009年10月27日閲覧。
- ^ “A CDE Definition - Common Ground” (英語). The Computer Desktop Encyclopedia. 2015年7月1日閲覧。
- ^ “A CDE Definition - Farallon Replica” (英語). The Computer Desktop Encyclopedia. 2015年7月1日閲覧。
- ^ Laurens Leurs. “The history of PDF” (英語). 2007年9月19日閲覧。
- ^ Geschke, Charles, Driving Adobe:Co-founder Charles Geschke on Challenges, Change and Values, The Wharton School of the University of Pennsylvania
- ^ Duff Johnson. “The 8 most popular document formats on the web” (英語). 2014年3月2日閲覧。
- ^ “Adobe Developer Connection:PDF Reference and Adobe Extensions to the PDF Specification” (英語). Adobe Systems. 2017年3月13日閲覧。
- ^ “PDF compatibility levels”. 2011年10月1日時点のオリジナルよりアーカイブ。2015年6月17日閲覧。
- ^ R, Leonard, History of PDF Openness, Acrobat users, オリジナルの2007-10-14時点におけるアーカイブ。
- ^ Portable Document Format Reference Manual, Adobe Systems Incorporated, (1993-06) 2015年6月17日閲覧。
- ^ a b (PDF) Portable Document Format Reference Manual Version 1.2, Adobe Systems Incorporated, (1996-11-12), オリジナルの2005-11-03時点におけるアーカイブ。 2015年6月17日閲覧。
- ^ a b (PDF) PDF Reference Second edition – Adobe Portable Document Format Version 1.3, Adobe Systems Incorporated, (2000) 2015年6月17日閲覧。
- ^ PDFリファレンス第2版 ISBN 4-89471-338-1
- ^ a b c d “Adobe PDF Reference Archives”. Adobe Systems Incorporated. 2010年2月23日閲覧。
- ^ a b (PDF) PDF Reference Third edition – Adobe Portable Document Format Version 1.4, Adobe Systems Incorporated, (2001) 2015年6月17日閲覧。
- ^ Technical Note#5186 Acrobat JavaScript Object Specification Version 5.1, (2003)
- ^ (PDF) PDF Reference fourth edition – Adobe Portable Document Format Version 1.5, Adobe Systems Incorporated, (2003) 2010年2月23日閲覧。
- ^ Acrobat JavaScript Scripting Guide, Technical Note#5430, Version:Acrobat 6.0, (May 2003)
- ^ (PDF) PDF Reference fifth edition – Adobe Portable Document Format Version 1.6, Adobe Systems Incorporated, (2004) 2015年6月17日閲覧。
- ^ Acrobat JavaScript Scripting Reference, (2005-06-27)
- ^ a b c “Adobe Developer Connection:PDF Reference and Adobe Extensions to the PDF Specification”. Adobe Systems. 2010年12月13日閲覧。
- ^ (PDF) PDF Reference sixth edition – Adobe Portable Document Format Version 1.6, Adobe Systems Incorporated, (2006) 2015年6月17日閲覧。
- ^ JavaScript for Acrobat API Reference, Version 8, (April 2007)
- ^ a b XML Forms Architecture (XFA) Specification Version 2.6, Adobe Systems Incorporated, (2008-01-25) 2014年4月9日閲覧。
- ^ a b Adobe Supplement to the ISO 32000 BaseVersion:1.7 ExtensionLevel:3, Adobe Systems Incorporated, (2008-06) 2014年4月9日閲覧。
- ^ XML Forms Architecture (XFA) Specification Version 2.8, Adobe Systems Incorporated, (2008-10-23) 2014年4月9日閲覧。
- ^ Adobe Supplement to the ISO 32000 BaseVersion:1.7 ExtensionLevel:5, (2008-06) 2015年6月17日閲覧。
- ^ XML Forms Architecture (XFA) Specification Version 3.0, Adobe Systems Incorporated, (2009-03-12) 2014年4月9日閲覧。
- ^ XML Forms Architecture (XFA) Specification Version 3.1, Adobe Systems Incorporated, (2009-11-16) 2014年4月9日閲覧。
- ^ (PDF) PDFlib API Reference 8.0.2 2011年3月7日閲覧, "1.7ext8 – PDF 1.7 extension level 8 requires Acrobat X"
- ^ XML Forms Architecture (XFA) Specification Version 3.3, Adobe Systems Incorporated, (2012-01-09) 2014年4月9日閲覧。
- ^ PDFlib - PDF Security - Encryption Algorithms and Key Length 2012年9月26日閲覧。
- ^ PDFlib - PDF Security - Security Recommendations 2012年9月26日閲覧, "AES-256 according to PDF 1.7 Adobe Extension Level 3 (Acrobat 9) should be avoided because it contains a weakness in the password checking algorithm which facilitates brute-force attacks against the password. For this reason Acrobat X no longer offers Acrobat 9 encryption for protecting new documents (only for decrypting existing documents). In summary, AES-256 according to PDF 1.7 Adobe Extension Level 8/PDF 2.0 or AES-128 according to PDF 1.6/1.7 should be used, depending on whether or not Acrobat X is available. Passwords should be longer than 6 characters and should contain non-alphabetic characters."
- ^ Adobe Supplement to ISO 32000-1, BaseVersion:1.7 ExtensionLevel:5, Adobe Systems Incorporated, (2009-06), p. 5
- ^ [1]Implementation Guide for the Portable Document Format Healthcare
- ^ [2] ISO 14289 の販売ページ
- ^ バリアブルデータ印刷(Global Graphics Software社の解説)
- ^ “ISO 16612-2:2010 - Graphic technology -- Variable data exchange -- Part 2:Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2)”. 2014年9月22日閲覧。
- ^ “ISO規格の制定手順”. 2014年5月9日閲覧。
- ^ ISO 32000-1:2008, Page 1, section "1 Scope"
- ^ a b “ISO/CD 32000-2 - Document management -- Portable document format -- Part 2:PDF 2.0” (2013年7月26日). 2017年9月1日閲覧。
- ^ PDF Association (2017年8月3日). “ISO 32000, the PDF specification, updated to version 2.0”. 2017年9月1日閲覧。
- ^ Duff Johnson (PDF Association). “PDF 2.0:The worldwide standard for electronic documents has evolved”. 2017年9月1日閲覧。
- ^ “ISO/NP 32000-2 - Document management -- Portable document format -- Part 2:PDF 2.0” (2009年10月6日). 2010年2月24日閲覧。
- ^ Duff Johnson. “ISO 32000-2 (under development)”. 2014年3月2日閲覧。
- ^ Leonard Rosenthol, Adobe Systems (2012年). “PDFと各種標準(英語)”. 2013年10月20日閲覧。
- ^ Dr. Matthew Hardy, Adobe Systems (2012年). “7分でわかるPDF標準(英語) – PDF (ISO 32000)”. 2013年10月20日閲覧。
- ^ ISO/TC 171/SC 2/WG 8 N 603 - Meeting Report, (2011-06-27) , "XFA is not to be ISO standard just yet. ... The Committee urges Adobe Systems to submit the XFA Specification, XML Forms Architecture (XFA), to ISO for standardization ... The Committee is concerned about the stability of the XFA specification ... Part 2 will reference XFA 3.1(pdf.editme.com 会員限定)"
- ^ partners.adobe.com - Developer Resources
- ^ 柳 英俊 (2010年12月6日). “サンドボックスで保護されたPDF閲覧機能を備える「Google Chrome」v8が正式公開”. 窓の杜. 2017年3月20日閲覧。
- ^ Lardinois, Frederic; iwatani (2013年2月20日). “Firefox 19がHTML5だけによるPDFビューワを搭載, Androidバージョンはテーマをサポート”. TechCrunch Japan. 2017年3月20日閲覧。
- ^ Adobe PDF Specifications PDF仕様書の一覧ページ(英語)
- ^ [3]
- ^ “Adobe Flash Playerサポート終了”. www.adobe.com. 2023年8月23日閲覧。
- ^ John Naughton (2010年4月18日). “AppleはiPadでAdobeとFlashに宣戦(英語記事)”. TechGuardian. 2014年5月9日閲覧。AppleがFlashを不安定でSafariブラウザがクラッシュする主要要因としてiPhoneから排除したこと、さらにAdobeがFlashをiOS用にコンバートするツールをCS5で提供したものに対しAppleが4日後に「中間変換/互換レイヤーの禁止」条項で応じた経緯が紹介されている。
- ^ a b Adobe Systems Incorporated (2008-07-01), Document Management – Portable Document Format – Part 1:PDF 1.7, First Edition 2010年2月19日閲覧。
- ^ Adobe Systems Incorporated (2007年10月15日). “Using Acrobat forms and form data on the web”. 2010年2月19日閲覧。
- ^ (PDF) XML Forms Data Format Specification, version 2, (September 2007) 2010年2月19日閲覧。
- ^ a b (PDF) FDF Data Exchange Specification, (2007-02-08) 2010年2月19日閲覧。
- ^ IANA Application Media Types - vnd.fdf 2010年2月22日閲覧。
- ^ Adobe PDF Print Engine 2
- ^ www.globalgraphics.com/products/jaws_rip/
- ^ Harlequin RIP
- ^ TeX Wiki PDFの作り方
- ^ さまざまなPDFの作成技術の概観 アンテナハウス PDF資料室
- ^ “LibreOffice 7.1 Help PDF Export General”. 2021年3月22日閲覧。
- ^ LibreOffice 7.0: Release Notes 2021年3月22日閲覧。
- ^ なぜいまだにわざわざ文書をPDFに変換して公開するのか?分からない | TechWave(テックウェーブ)
- ^ PDF:人間が消費するには不向き(Jakob Nielsen博士のAlertbox)
関連項目
PDFソフトウェアの一覧
PDFの競合規格
- CAJ (caj・kdh・nh・teb)
- China Academic Journals Document。中国知網(CNKI)で用いられている形式。CAJViewer(CAJ全文浏览器,中国期刊网的专用全文格式浏览器)で閲覧できる。MIME 形式は「application/octet-stream」。
- DjVu(デジャヴ)
- 米国AT&T研究所が開発した、PDF同様に文書公開用に使われるファイルフォーマット。特に画像データの圧縮率が高く、PDFやJPGよりもサイズが小さい割に画像の劣化が少ない特徴を持つとされ、2005年頃から一部で使用されはじめている。
- DocuWorks(XDW・XBD)
- 富士フイルムビジネスイノベーション製の、電子文書と紙文書を一元管理するオフィス向け文書管理アプリケーション。DocuWorks(6.0以降)の文書からPDFの作成も標準(「Adobe Acrobat」または(Production Premium以外の)「Adobe Creative Suite」の入っているPCではそれを、入っていないPCには、6.xでは付属の「Acrobat Elements 7.0」を、7.xでは付属の「Adobe PDF Creation Add-On」をそれぞれ利用)でできる。競合規格という側面もあるが、共栄共存規格という側面も持ち合わせている。
- FlashPaper
- Macromedia社が策定。PDFと同様に各種文書から「印刷」して作成でき、作成された文書はレイアウトを保持したまま表示・印刷できる。Macromedia社がAdobeに買収されたことで、CS3世代ではFlashPaperは作成できなくなり実質的にPDFに一本化された。
- Scalable Vector Graphics (SVG)
- 各種図形を表すファイル形式であるSVGは、PDFと同じく文書のレイアウトを保持したまま表示・印刷する用途に利用できる。現状では、SVGが普及していないが、IE(8以前)を除いて、ほとんどのブラウザで利用できる。そうした中で、XSL FormatterはXML文書からPDFと同等のレイアウト結果をSVGで出力できる。
- XML Paper Specification (XPS)
- マイクロソフトが策定し、Windows VistaやMicrosoft Officeで採用される印刷用のプラットフォーム。PDFとよく似た機能をもち、「PDFキラー」を標榜していたが、Microsoft OfficeでPDFを直接書き出せるようになったこと、Windows 10では標準でPDFを表示できるようになったこと、他のOSやサードパーティー製ソフトの少なさから、主流となりえなかった。
外部リンク
- Acrobat SDK 2021 - PDF Referenceの節にPDF各バージョンの仕様書へのリンクがある。
- Adobe PDFとは? - アドビ
- Adobe Sign(PDF署名) - Adobe Document Cloud
- TeX Wiki "PDF の作り方"
- PDFChat: AI PDF Reader, PDF ドキュメントとチャットする
- LightPDF、ChatPDF、ChatDocなど - AIでPDFの解析と内容についてチャットするウェブツール
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/26 05:56 UTC 版)
PDF。アドビが開発した文書ファイルフォーマット。
※この「pdf」の解説は、「拡張子」の解説の一部です。
「pdf」を含む「拡張子」の記事については、「拡張子」の概要を参照ください。
「PDF」の例文・使い方・用例・文例
- pdfのページへのリンク