XFDFとは?PDF注釈のXML形式をわかりやすく解説
XFDFファイルは、PDF注釈のXML表現です。XFDFは XML Forms Data Format の略で、PDFのハイライト、コメント、フォームデータをPDF文書そのものから切り離して持ち運ぶため、Adobeがポータブルで人間が読める形式として導入しました。注釈をバイナリPDFの内部に埋め込む代わりに、XFDFはそれらをプレーンテキストのXML構造に格納します。どのモダンツールでも解析、diff、変換できる——これこそ、pdfannotations.comがPDFやXML FDFと並んでXFDFを入力フォーマットとして採用している理由です。
Adobe Acrobatから注釈をエクスポートして、PDFの隣に小さな .xfdf ファイルが残った経験があれば、本ガイドがそのファイルの中身、旧FDFフォーマットとの比較、そしてXFDFファイルをMarkdown、Obsidianノート、JSON、CSVに開く・表示する・変換する方法を説明します。
XFDFは何の略?
XFDFは XML Forms Data Format に展開されます。分解すると:
- XML —— ファイルはプレーンなExtensible Markup Languageで、任意のテキストエディタで開き、gitでdiffし、標準XMLライブラリで解析できます。
- Forms Data —— 元々はフォームフィールドの値を運ぶために設計されましたが、Adobeは注釈データ(ハイライト、付箋、下線、取り消し線、フリーテキスト)も運べるよう拡張しました。
- Format —— 公開された仕様であり、プロプライエタリなバイナリblobではありません。AdobeはAcrobat SDKでXFDFスキーマを文書化しています。
結果として、PDFで作成したすべての注釈をキャプチャした極小のXMLファイル——多くの場合わずか数キロバイト——ができ、Acrobatに再インポートしたりpdfannotations.comのようなコンバータに渡したりできます。
XFDFファイルの中身は?
XFDFファイルは構造化XMLです。ルート要素は <xfdf> で、その中に通常次のものが含まれます:
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="research-paper.pdf"/>
<ids original="abc123def456" modified="789012abc"/>
<annots>
<highlight page="0" color="#FFEB3B" opacity="1.0"
subject="Highlight" name="ann_001"
date="D:20260720120000Z" creationdate="D:20260720115900Z">
<contents>This is the key argument of the paper.</contents>
<Popup page="0" rect="100,200,300,250" open="no"/>
</highlight>
<text page="2" color="#4F46E5" opacity="1.0"
subject="Note" name="ann_002"
date="D:20260720121000Z">
<contents>Review this section carefully before citing.</contents>
<Popup page="2" rect="120,220,260,260" open="no"/>
</text>
<underline page="5" color="#FF9800"
subject="Underline" name="ann_003"
date="D:20260720121500Z">
<contents>Definition of construct validity.</contents>
<Popup page="5" rect="80,180,300,220" open="no"/>
</underline>
</annots>
</xfdf>
最も重要な要素は次のとおりです:
| 要素 | 目的 |
|---|---|
<f href="..."/> |
元のPDFファイル名を指します。 |
<ids> |
ラウンドトリップに使われるAcrobat内部識別子。 |
<annots> |
すべての注釈要素のコンテナ。 |
<highlight>、<text>、<underline>、<strikeout> |
個別の注釈タイプ。 |
page 属性 |
注釈が存在するページ番号(0始まり)。 |
color 属性 |
マークアップのRGB 16進カラー。 |
date / creationdate |
Adobe PDF日付フォーマット(D:YYYYMMDDHHmmSSZ)。 |
<contents> |
あなたが入力したコメントやノートテキスト。 |
<Popup> |
元のPDFにおけるフローティングコメントポップアップの位置。 |
XFDFはプレーンXMLなので、任意の注釈を手動で検査し、スクリプトを書き、数行のコードで任意の他フォーマットに変換できます。
XFDF vs FDF vs PDF注釈
PDF注釈は3つの異なる場所に存在でき、それぞれにトレードオフがあります。違いを理解することで、ワークフローに適したフォーマットを選べます。
埋め込みPDF注釈
注釈はPDFファイル内部に、ページの注釈配列の一部として存在します。テキストをハイライトして単にPDFを保存した場合こうなります。
- 長所: 自己完結——1つのファイルにすべて含まれる。
- 短所: 編集のたびに(巨大になりうる)PDFを再書き込み。注釈の共有は文書全体の共有を意味する。diffやバージョン管理が困難。
FDF(Forms Data Format)
FDFはAdobeの古い外部データ形式で、フォームデータと注釈をPDFから切り離して運びます。従来型はPDFスタイルのオブジェクト構文によるバイナリで、AcrobatはXML FDFも書き出せます。
- 長所: フルPDFより小さい;Acrobatとクリーンにラウンドトリップ。
- 短所: 従来のバイナリ形式は人間が読めず、クリーンなdiffも取りづらく、専用パーサーが必要です。XML FDFは読めますが、XFDFよりサポート範囲が狭い。
XFDF(XML Forms Data Format)
XFDFはFDFのXML後継です。同じデータモデルですが、XMLとしてエンコードされます。
- 長所: 人間が読める、gitで差分を取りやすい、標準XMLライブラリで解析できる。多くの場合は数KB程度で軽量。
- 短所: XMLは同じ内容を表現するためにタグが増えるため、複雑な注釈セットではファイルが大きくなりやすい。
クイック比較
| プロパティ | 埋め込みPDF | FDF | XFDF |
|---|---|---|---|
| エンコーディング | バイナリ | バイナリまたはXML | XML(プレーンテキスト) |
| 人間が読める | いいえ | XML FDFのみ | はい |
| gitでクリーンなdiff | いいえ | XML FDFのみ | はい |
| 注釈データを含む | はい | はい | はい |
| ページ内容を含む | はい | いいえ | いいえ |
| ファイルサイズ | 大 | 小 | 小 |
| Acrobatとラウンドトリップ | はい | はい | はい |
| pdfannotations.comサポート | はい | XML FDFのみ | はい |
ほぼすべてのモダンワークフローで、XFDFが正しい選択です。Adobeが新プロジェクトに推奨するフォーマットであり、手作業で内容を確認しやすいテキスト形式として最も広くサポートされています。
なぜ埋め込み注釈の代わりにXFDFを使うのか?
XFDFをエクスポートする方がPDFに注釈を埋め込んだままにするより望ましいシナリオがいくつかあります:
- 文書を共有せずに注釈を共有。 同僚に50 MBのPDFではなく5 KBのXFDFファイルを送れます。彼らはAcrobatで自分のPDFコピーに適用します。
- 注釈のバージョン管理。 XFDFはプレーンテキストなので、PDFと一緒にgitにコミットし、いつどのハイライトが追加されたか正確に追跡できます。
- 他フォーマットへの注釈変換。 XFDFはpdfannotations.comのようなツールに最も簡単な入力——XML構造はMarkdown見出し、JSONフィールド、CSV列に直接マッピングします。
- 複数レビューアー。 各レビューアーが同じソースPDFから自分のXFDFをエクスポートし、後で互いの注釈を上書きせずにマージできます。
- 長期アーカイブ。 XFDFは特定のPDFリーダーより長生きします。XMLパーサーが存在する限り(予見可能な未来では存在し続けます)、注釈は読み可能なままです。
XFDFファイルを開く方法
XFDFはプレーンXMLなので、開くための選択肢が多数あります:
テキストエディタで開く
任意のテキストエディタ——VS Code、Sublime Text、Notepad、BBEdit、Vim——がXFDFファイルを開けます。何もインストールせずに中身を検査する最速の方法です。要素名(上述)を知ればXML構造は自己文書化されます。
ブラウザで開く
.xfdf ファイルを任意のモダンブラウザにドラッグします。ブラウザは折りたたみ可能なノードでXMLをレンダリングし、大きな注釈セットを素早くナビゲートするのに便利です。
Adobe Acrobatに再インポート
Acrobatで File → Import → Data(または Comments → Import Comments)を選択し、XFDFファイルを選ぶと、Acrobatが注釈を一致するPDFに再アタッチします。注釈が正しい位置に配置されるには、PDFが同じ文書(またはそのコピー)でなければなりません。
pdfannotations.comに読み込む
XFDFファイルを当社の XFDF注釈コンバータ にドラッグします。パーサーは完全にブラウザ内で動作——ファイルはサーバーにアップロードされません——し、各注釈をソート可能・フィルタ可能なワークスペースにレンダリングし、Markdown、Obsidian、Notion、CSV、JSON、プレーンテキストに変換できます。
コードで解析
XFDFはXMLなので、任意のプログラミング言語で解析は数行で済みます。例えばPythonでは:
import xml.etree.ElementTree as ET
tree = ET.parse('annotations.xfdf')
root = tree.getroot()
ns = {'xfdf': 'http://ns.adobe.com/xfdf/'}
for annot in root.findall('.//xfdf:annots/*', ns):
page = annot.get('page')
color = annot.get('color')
contents = annot.findtext('xfdf:contents', default='', namespaces=ns)
print(f"Page {page} [{color}]: {contents}")
このスニペットは20行未満でファイル内のすべての注釈を印字します。同じロジックはJavaScript、Go、Rust、Java、XMLライブラリのある任意の言語に適用できます。
XFDFファイルを変換する方法
XFDFファイルを手に入れたら、通常はもっと便利なフォーマットに変換したいでしょう。pdfannotations.comで利用可能な変換オプションは:
- Markdown —— 汎用、ポータブル、任意のMarkdownエディタで動作
- Obsidian —— Callout、YAML Frontmatter、ページ参照付きMarkdown
- Notion —— Notionデータベース用の構造化行
- CSV —— Excel、Google Sheets、ピボット分析用
- JSON —— プログラマティックパイプライン用
- Text —— プレーンテキスト、メールやチャットへの貼り付けに便利
- Excel —— 構造化列付き
.xlsxファイル - ZIP —— 複数フォーマットを一度にバンドル
- AI Context Markdown —— ChatGPT、Claude、Geminiへの貼り付け用に構造化
- RAG JSON —— 埋め込みとベクトルデータベース取り込み用に設計されたスキーマ
Adobe AcrobatからそもそもXFDFを取り出す手順については、当社の XFDF注釈のエクスポート方法ガイド を参照してください。
XFDFファイルサイズと制限
XFDFファイルは極小です。200のハイライトと50の付箋を持つ300ページの学術論文でも、20〜40 KB程度のXFDFファイルしか生成しません。フォーマット自体は実用上の上限を課しません——Acrobatは数千の注釈を持つ文書からXFDFをエクスポートできます——が、極めて大きな注釈セットを扱う場合、個別ファイルを扱いやすく保つため文書セクションごとにエクスポートを分割するとよいでしょう。
pdfannotations.comはブラウザーがメモリに保持できる範囲のXFDFファイルを処理できます。大きな注釈セットでも動作しますが、件数が多い場合は処理時間が増えることがあります。
一般的なXFDFの誤解
"XFDFはAdobe Acrobatでしか動かない"
誤り。XFDFはAdobeが公開したオープンXMLスキーマですが、標準をサポートする任意のPDFリーダーが読み書きできます。Foxit、PDF-XChange、Nitro、その他多くのリーダーがXFDFを正しく処理します。pdfannotations.comはAcrobatだけでなく任意の準拠ツールが生成したXFDFを解析します。
"XFDFは非推奨"
誤り。XFDFは引き続きPDF注釈の推奨交換フォーマットです。実質的に取って代わられたのは、従来のバイナリFDF形式です。XML FDFを読むには FDF注釈変換ツール、XFDFを読むには XFDF注釈変換ツール を使ってください。
"XFDFはフォームデータを運べない"
誤り。XFDFはフォームデータも注釈データも運べます。<fields> 要素がフォームフィールド値を保持し、<annots> 要素が注釈を保持します。AcrobatからのほとんどのXFDFエクスポートは注釈側に焦点を当てますが、フォーマットは両方をサポートします。
"XFDFは色情報を失う"
誤り。各注釈要素の color 属性がRGB値を16進文字列として保存します。Acrobatの標準ハイライトやコメントツールで作成した注釈は、通常そのまま色が保持されます。
いつXFDFを使うべきか?
次のいずれかが必要な場合、XFDFが正しい選択です:
- ソースPDFから切り離されて移動するポータブルな注釈データ
- 検査、diff、手編集できる人間が読めるフォーマット
- 注釈をMarkdown、Obsidian、JSON、CSVに変換するpdfannotations.comのようなツールへの変換可能な入力
- git内の注釈のバージョン管理可能な表現
- 各人が自分のXFDFをエクスポートし後でマージする複数レビューアーワークフロー
PDFを単一のリーダーで読むだけで、ハイライトを他所で再利用する必要がなければ、埋め込みPDF注釈で十分です。読書以上のことをしたい瞬間に、XFDFがより良い選択になります。
よくある質問
.xfdfは何の略?
XFDFはXML Forms Data Formatの略です。PDFフォームデータと注釈のXMLエンコード表現です。
XFDFはFDFと同じ?
いいえ。従来のFDFはPDFスタイルのオブジェクト構文を使い、XFDFはXML後継です。AcrobatはXML FDFも書き出せますが、XFDFは人間が読みやすく、より広くサポートされ、解析も容易です。
Adobe AcrobatなしでXFDFファイルを開けますか?
はい。XFDFはプレーンXMLなので、任意のテキストエディタ、ブラウザ、XMLパーサーで開けます。Markdown、Obsidian、CSV、JSONに変換するには、pdfannotations.comの XFDFコンバータ を使ってください。
XFDFはハイライト色を保存しますか?
はい。各注釈要素はRGB 16進値を含む color 属性を持ち、pdfannotations.comはすべてのエクスポートフォーマットでそれを保存します。
XFDFファイルを手動で編集できますか?
はい。XFDFはプレーンXMLなので、任意のテキストエディタで開き、注釈テキスト、色、ページ番号を直接変更できます。.xfdf 拡張子でプレーンテキストとして保存するだけです。
関連ガイド
もっと知りたいですか?これらの関連ガイドをご覧ください:
- Adobe AcrobatからXFDF注釈をエクスポートする方法 - AcrobatからXFDFファイルを取り出しコンバータに入れる手順説明
- XFDFをObsidianに変換するワークフロー - XFDFエクスポートをCalloutとFrontmatter付きのリンク化・タグ化Obsidianノートに変換
- PDF注釈をAIとRAGへ - XFDFエクスポートされた注釈をChatGPT、Claude、Gemini、ベクトルデータベースに投入
- PDFハイライトをObsidianにエクスポート:完全ワークフローガイド - 任意のPDFソース向けの完全Obsidianワークフロー
- PDFをMarkdownに変換するベストプラクティス - Obsidian、Notionなどで機能するクリーンな変換パターン