PDF ファイル形式とは?
拡張子 .pdf を持つファイルは、アプリケーションやプラットフォーム間の移植性(ポータビリティ)を目的として設計された形式で保存されたテキストまたはグラフィックドキュメントです。これは固定された外観のドキュメント、つまり、開くために使用されるデバイスやソフトウェアに関係なく同一にレンダリングされる「デジタルプリントアウト」を保存します。この仕様はもともと 1990 年代に Adobe Systems によって開発され、PostScript 言語に基づいています。2008 年以降は ISO 32000 で定義されたオープンフォーマットとなっています(以前は独自のファイル形式でした)。最新の改訂版である PDF 2.0 は、ISO 32000-2(2017 年発行、2020 年改訂)で規定されています。
現在の実装では、.pdf ドキュメント内に以下を配置できます:
- テキストと埋め込みフォント
- ベクターグラフィックスとラスタ画像
- 注釈
- インタラクティブフォーム
- レイヤー
- 3D オブジェクト
- マルチメディアコンテンツ(ビデオを含む)
.pdf ファイルは暗号化やデジタル署名が可能で、メタデータやファイル添付を含めることもできます。これは、PostScript ページ記述言語、ドキュメントをどのマシンでも一貫してレンダリングできるように書体をバンドルするフォント埋め込みシステム、およびすべての要素をオプションのデータ圧縮とともに単一のバイナリファイルに統合する構造化オブジェクトストレージシステムの合成体です。
ファイルは常にヘッダー %PDF- で始まり、バイトオフセット 0 にバージョン文字列(例:%PDF-1.7 または %PDF-2.0)が続き、%%EOF マーカーで終わります。これにより、.pdf ファイルはマジックバイトによって確実に見分けることができます。PDF ドキュメントからエクスポートされたフォームデータは、.fdf または .xfdf ファイルとして個別に保存できます。PDF と PostScript の伝統を共有する Adobe Illustrator の .ai ファイルは密接に関連しており、多くの場合 PDF 対応のビューアで開くことができます。
セキュリティと安全性
リスク: MEDIUMPDF は不活性ではありません。この形式は JavaScript の埋め込み、アクションの実行、ファイルの埋め込み、リンクを含めることができ、長年にわたり攻撃者は悪意のある PDF を使用してリーダーの脆弱性を突いたり、フィッシング(認証情報を盗むサイトへのリンクが含まれた偽の請求書など)を行ったりしてきました。PDF リーダーを最新の状態に保ち、不要な場合はリーダーの JavaScript を無効にし、リンクのクリックやコンテンツの有効化を促す予期しない PDF には注意してください。機密文書において暗号化された PDF やパスワードの要求は正常な動作です。日常的な PDF の多くは安全ですが、不明な送信者からの添付ファイルは慎重に扱ってください。
形式の詳細
概要PDF ファイルを開くプログラム
技術的詳細
詳細仕様| MIME タイプ | application/pdf |
| マジックバイト | バイトオフセット 0 に %PDF- (hex: 25 50 44 46 2D)、ファイル末尾は %%EOF |
| ファイル構造 | オブジェクトベースのバイナリ形式。相互参照テーブル (xref) または相互参照ストリームが、オブジェクト番号をファイル内のバイトオフセットにマッピングします |
| 圧縮フィルタ | FlateDecode (zlib/deflate), DCTDecode (JPEG), JPXDecode (JPEG 2000), JBIG2Decode, LZWDecode, および追加のストリームフィルタ |
| 暗号化 | AES-128 および AES-256 (PDF 1.6+/1.7+)。レガシーな RC4 40ビットおよび 128ビットも仕様で定義されています |
| デジタル署名 | ドキュメントに埋め込まれた PKCS#7/CMS および PAdES 署名。承認署名と証明署名の両方のタイプをサポート |
| カラースペース | DeviceRGB, DeviceCMYK, DeviceGray, ICCベース (埋め込み ICC プロファイル), CIE Lab, およびスポット/特色 |
| フォント埋め込み | Type 1, TrueType, OpenType (CFF/グリフアウトライン), および CIDFont タイプを完全または部分的 (サブセット化) に埋め込み可能 |
| リニアライゼーション | ファイル全体を読み込む前にページ単位でストリーミングダウンロードを可能にする、オプションの「ウェブ表示用に最適化」構造 |
| 準拠サブセット | PDF/A (アーカイブ用、ISO 19005), PDF/X (プリプレス用、ISO 15930), PDF/E (エンジニアリング用), PDF/UA (アクセシビリティ、ISO 14289), PDF/VT (可変/トランザクションデータ) |
| バージョン通知 | ファイルヘッダー(例:%PDF-1.7 または %PDF-2.0)で宣言。ドキュメントカタログで同等以上のバージョンを指定する場合もあります |
| ページ座標系 | デフォルトのユーザ空間:1ユニットあたり 1/72 インチ、原点は左下。最大ページサイズは 14,400 x 14,400 インチ (PDF 1.6+) |
| タグ付き PDF (アクセシビリティ) | スクリーンリーダーや PDF/UA (ISO 14289) 準拠のための、論理的な読み上げ順序、代替テキスト、ロールマッピングを持つオプションの構造ツリー |
| 透明度モデル | PDF 1.4 で導入されたアルファ合成モデル:ブレンドモード、アルファチャンネル、レイヤー化されたオブジェクトのソフトマスクをサポート |
| JavaScript サポート | インタラクティブフォーム、フィールド検証、ドキュメントレベルの自動化のために、Acrobat JavaScript (ECMAScript のサブセット) を埋め込み可能 |
| メタデータ | ドキュメントレベルの XMP メタデータストリームとレガシーな Info ディレクトリ。Dublin Core、PDF、およびカスタム拡張スキーマをサポート |
| リリース日 | 1993 (Adobe); ISO 32000-1 in 2008, ISO 32000-2 (PDF 2.0) in 2017/2020 |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.iso.org |