Portable Document Format
そのためPDFファイルは、コンピュータを使ったプレゼンテーション用に使うこともできる。
2005年にアドビシステムズが Flash の開発・推進を進めてきたマクロメディアを買収しており、それ以降アドビシステムズによる Flash と PDF との統合が進められている。
そのためAdobe製品によるPDF表示では、Flash形式のファイルが埋め込まれていてもプラグインなどをインストールせずに再生することが出来る。しかしQuickTimeはサポートされない。これはAppleとAdobeの敵対的な関係を示しており、そのためAppleのiOSデバイスではリッチメディアPDFはインタラクティブ性が損なわれる。
またフォームはユーザーに入力させるメカニズムで、AcroForms(PDF 1.2より)と Adobe XML Forms Architecture(XFA)(PDF 1.5より) の2種類が使える。XFA仕様はPDF仕様に含まれておらす、オプション機能として言及されているだけである。
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種類がある。
Forms Data Format (FDF)
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ファイルなどの情報をネットワーク送信のためカプセル化する。
FDFのMIMEコンテントタイプは application/vnd.fdf で, ファイル拡張子は.fdfになる。Macのファイルタイプは'FDF'。 FDFの単体ファイルへのインポート、エクスポートはフリーウェア系PDFソフトウェアでは広く実装しているとは言えない。その例としては、Evince、Okular、Poppler、KPDF, Sumatra PDF が挙げられる。ただしEvince、Okular、PopplerはAcroformsにデータを代入して保存させることなら出来る。単体FDFのインポートを実装しているソフトウェアとしてはAcrobat Readerがあり、インポート、エクスポート両方を実装するものとしてはFoxit ReaderとPDF-XChange Viewer Freeが挙げられる。PDFファイルへのFDFデータの保存についてはpdftkにも実装されている。
「タグ」機能により、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秒もかからずパスワードが解除されてしまうケースがある。数年後にはツールで解読されてしまうということを考慮する必要がある。
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印刷エンジン または、サードパーティー製品 Jaws や Global GraphicsのHarlequin(ハーレクイン)RIP を組み込んでいる。
Windows環境におけるPDFファイルの表示や印刷には、アドビシステムズから無料で配布されているAcrobat Readerを使うのが一般的である。Acrobatがインストールされている場合は、AcrobatでPDFの表示や印刷ができる。macOSではOSに標準で付属する「プレビュー」を利用できる。その他のOSについても、PDF閲覧ソフトに付属している印刷機能や、OSの印刷機能を利用して印刷できる場合が多い。
Web上のPDFファイルは、Googleなどで検索できる。また、コンピュータ内のPDFファイルは、AcrobatとAcrobat Readerによる全文検索が可能だが、検索用インデックスを作成した高速全文検索を利用するためにはAcrobatのProfessionalバージョン(6.0以降)やGoogleデスクトップ、Mac OS X Tiger以降に付属するSpotlightなどが必要となる。
PDFファイルの作成には、アドビシステムズのAcrobatを利用するのが一般的である。macOSではOSの標準機能で各種文書をPDFファイルに変換できる。LinuxなどUnix系OSの印刷システムであるCUPSにはPDFファイルの出力機能がある。そのほかにも、後述するLibreOfficeなどオープンソースのものも含めて、数多くのPDF作成ツールがある。
Acrobatでは、データを各種ソフトウェアから「Adobe PDFプリンタ」へ印刷することでPDFファイルを作成できる。この操作の場合、Acrobatに含まれるDistillerでPDFファイルを作成することになる。また、Microsoft OfficeではAcrobatに含まれるPDFMakerで文書をPDFに変換できる。PDFMakerはDistillerを呼び出すとともに、しおり・ハイパーリンク・注釈などを自動的に作成する。
Adobe PDFプリンタによる方法以外としては以下のような作成手法を備えている。
Acrobat から直接、単数もしくは複数の画像ファイルを指定して、PDF化することが出来る。市販のデジタル写真集などでも利用されている。
Web Capture機能によりウェブページを直接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や長期保存向けのPDF/A、ユニバーサルアクセシビリティ対応のPDF/UAでの出力や、PDFへの電子署名にも対応している。また、LibreOffice Drawを利用して、PDFファイルを直接、編集したり機密情報を消すための墨消しも行える。
LaTeXで作成した文書をPDFに変換する機能も持つツールも開発されている。
PDFLaTeXはLaTeXソース文書を読み取り、そのままPDF形式に出力できる日本語を含んだLaTeXソース文書は扱えない。。
dvipdfm(x)はLaTeX標準の中間形式であるdvi形式のファイルをPDFに変換できる。
これらPDFを直接扱う方法ではなく、LaTeX標準のdvipsやdvipskなどの伝統的なPostScript出力用ツールでいったんPostScript形式に落とし、それをAdobe Distiller(または自由ソフトウェアであるGhostscript)といった標準的なPostScript→PDF変換ツールを使ってPDF出力させるといったやり方も一般的である
ProsperなどのLaTeX形式ファイルからプレゼンテーション用PDFファイルを生成できるツールも存在する。
マークアップ言語XMLの応用技術であるXSL-FOを利用すると、Apache FOPやXSL Formatterなどのソフトウェアを利用してPDFファイルに変換できる。XSL-FOはXSLTなどを利用して各種XML文書から生成できるため、XSL-FOを利用することで各種XML文書からPDFファイルを作成できる。
PDFの短所として、次のような点が指摘されている。
PDFは、元にしていたPostScriptの仕様が複雑だったため、簡略化したとはいえやはり複雑な仕様である。また、PDFのバージョンアップとともにさまざまな機能が追加されたため、仕様はますます複雑になっている。
このため、PDFの文書およびソフトウェアはサイズが肥大化する傾向にあり、ソフトウェアの動作が重く、メモリの使用量が増大しがちである。
例えば、Acrobat6ではソフトウェアのサイズが大きく、起動に時間がかかるなど動作が重いため、敬遠する人も多かった。Acrobat7になって起動時間は短縮したが、ソフトウェアのサイズは相変わらず大きく、動作の重さを感じる場面もある。その配慮として、PDF以外の形式による文書(Word文書、Excelワークシートなど)も公開しているサイトもある。
また、仕様が公開されているとはいえ、PDFの複雑な仕様に完全に対応するソフトウェアを作成するのは難しい。
PDFは、文字のレイアウトが崩れにくいため、最終成果物として公開するのには適している。しかし文字列の抽出や他形式にコンバートを試みると困難に直面する。というのはプレーンなPDFでは、ある文字列のブロック、隣接または上に重なる文字列やグラフィックとの論理的な対応関係を示す情報が乏しいためである。
言い換えれば、PDF上では文字列が、変換元文書にあったコンテキストを無視した文字の羅列になってしまうのである。これはKindleをはじめとする、画面の小さいビューアー用フォーマットへの変換を困難にする。また視覚障碍者向けの拡大表示、読み上げなどアクセシビリティにとって障壁となる。
これに対応するため、PDFには「タグ」機能が追加され、PDFへの変換時に文字列がどの順番で読まれるべきか、見出しとの関係などの情報が追加されるようになったが、紙をスキャンして作成されたPDFではタグは軽視されることが多い。
PDFは画面で見るには、ユーザビリティが不十分な側面がある。特に、スマートフォン普及以前の規格であるため小型端末では扱いにくい。ユーザビリティ(閲覧しやすさ)に関して、ヤコブ・ニールセンはPDFを「オンラインの閲覧用に使ってはならない」、と結論づけている。
ユーザビリティに十分配慮して作成された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や単純なテキスト形式の方が扱いやすい。
人間の目は光を受け取って物体を視認する。コンピュータなどのディスプレイは直接光を出すため、印刷物の反射光に比べ眼球に対する負担が大きくなり、目が疲れやすい。