Portable Document Format
特定の環境に左右されずに全ての環境でほぼ同様の状態で文章や画像等を閲覧できる特性を持っている。
アドビはPDF仕様を1993年より無償で公開していたが、それでもPDF規格はアドビが策定するプロプライエタリなフォーマットであった。
2008年7月には国際標準化機構によってISO 32000-1として標準化された。
アドビはISO 32000-1 についての特許を無償で利用できるようにしたが、XFA(英語版) (Adobe XML Forms Architecture) やAdobe JavaScriptなどはアドビのプロプライエタリな部分として残っている。
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仕様書に記載されている。
ASCII85Decodeに近いがよりコンパクトになる
ISO未策定。ヘルスケアに関するデータを交換、保存するのを目的としたファイル形式。
「タグ」機能により、PDFのコンテンツにはセマンティックな(意味に基づく)構造と関連が記述できるようになり、これによりPDFの順序付けた読み上げか可能になった。
タグ付きPDFは印刷用途のPDFには必要ないためオプション扱いとなっており、ISO32000-1の記述も曖昧な物になっている。
Windows環境におけるPDFファイルの表示や印刷には、アドビシステムズから無料で配布されているAcrobat Readerを使うのが一般的である。Acrobatがインストールされている場合は、AcrobatでPDFの表示や印刷ができる。macOSではOSに標準で付属する「プレビュー」を利用できる。その他のOSについても、PDF閲覧ソフトに付属している印刷機能や、OSの印刷機能を利用して印刷できる場合が多い。
Acrobatは「フォーム」機能を利用し、文書入力のインタフェースとしても利用される。フォームとは記入用紙のことで、PDF内に記入欄を設け、エンドユーザーに入力させてメールで送付させる、あるいはPDFのインタラクティブ機能を使ってサーバに送信させることでデータを収集することができる。
またPDFファイルにはJavaScriptを埋め込むことができる。これにより入力のナビゲーションや入力時の値チェックなどが可能になる。
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についても同様である。
ISO 32000-1の文書はアドビの PDF Reference, sixth edition, Adobe Portable Document Format version 1.