トラスト・ソフトウェア・システム
トラスト・ソフトウェア・システム

XMP PDF埋め込みメタデータ

PDF文書には、文書を説明する情報(メタデータ)をXMPで規定された形式で埋め込むことができます。特にPDF/Aでは、メタデータを埋め込まなければなりません。
メタデータを使って、他の形式(PNG、PostScript、TIFFなど)をXMPに変換してPDF文書に埋め込むことができます。 このように埋め込まれた画像は、検索機能などで表示できますのでより直感的な検索ができるようになります。
なおPDF/Aでは、文書とは別のメタデータを格納するようなシステムでの利用が禁止されました。

XMPとは、Adobe Extensible Metadeta Platformでディジタルメディアやワークフロー間でメタデータ(XMLを使って記述された、ファイルの内容を示す情報)の キャプチャや保持そして移植がしやすいオープンな標準対応テクノロジーです。
XMPを操作するためのSDK(API)は、Adobeによって公開されています。 その使い方を解説しています。ご参照ください。

1.XMP概要

XMPパケットは、以下のようにrdf:RDF要素または、それを囲むx:xmpmeta要素をXML PI(Processing Instraction)で囲ったものです。
<?xpacket begin="□" id="W5M0MpCehiHzreSzNTczkc9d"?>
   <x:xmpmeta xmlns:x=adobe:ns:meta>
      <rdf:RDF xmlns:rdf=...>
         ...
      </rdf:RDF>
   </x:xmpmeta>
<xpacket end="w"?>
後述しますが、PDF文書に埋め込まれる場合はStreamオブジェクトに格納されます。また、PDFは更新(新しい内容が追加される)場合があります。 その場合メタデータも追加記載されますので、1つのPDF文書に複数のメタデータが存在します。PDF文書のメタデータをスキャンする場合は単純にXMPパケットを探すのではなく、最新のメタデータをスキャンするように、トレイラー情報から検索します。

1.1 ヘッダーPI

ヘッダーPIは、必ず下記の形式でなければなりません。
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
"begin"および"id"それぞれの直前には、ただひとつのSPACE(U+0020)が必要で、それ以外の部分にSPACEを記述してはなりません。 また、"begin"および"id"の値は、例のようにQUOTE(U+0022)で囲まなければなりません。なお、QUOTEに替えてAPOSTOROPHE(U+0027)を使うこともできます。 "begin"の値□は、Unicodeバイトオーダーマーカーです(U+FEFFが記載されます)。"id"は、GUIDです。
ヘッダーPIは、"?>"で終了しますが、その直前には任意のテキストを記述できます。しかし、それらは無視されます。

1.2 トレイラーPI

トレイラーPIは、下記のいずれかでなければなりません。
<?xpacket end="w"?>
<?xpacket end="r"?>
ヘッダーPI同様に"end"の値は、QUOTEまたはAPOSTOROPHEで囲まれなければなりませんし、"end"の直前にはただひとつのSPACEを記述しそれ以外にホワイトスペース(SPACEばかりではなく)を記述してはなりません。
なお、end="w"は書き込み可を表し、end="r"は読み取りのみを表します。

1.3 x:xmpmeta要素

x:xmpmeta要素は省略可能で、一般的なXMLテキスト(RDFではないXMPが含まれる場合など)が含まれるような場合に記述します。

1.4 rdf:RDF要素とrdf:Description要素

1っのXMPパケットは、ただ1っのrdf:RDF要素で構成されます。rdf:RDF要素は、0個以上のrdf:Description要素を持ちます。
最上位のrdf:Description要素は、0個以上のXMPプロパティであるXML要素を持ちます。XMPプロパティは任意のrdf:Descriptionに配分されることがあります。
推奨される用法は、以下です。
  1. ただひとつのrdg:Description要素にすべてのXMPプロパティを含める。
  2. それぞれのXMPプロパティ名前空間を別々のrdg:Description要素に含める。
XMPデータモデルがAboutURIを持つ場合は、すべての最上位rdf:DescriptionがそのURIをrdf:about属性の値として持たなければなりません。 それ以外は、すべての最上位rdf:Descriptionは空の値のrdf:about属性を持たなければなりません。

rdf:RDFがひとつのrdf:Descriptionを持つ例
<rdf RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:xmp="http://ns.adobe.com/xap/1.0">
   <rdf:Description rdf:about="">
      <xmp:Rating>3<xmp:Rating>
   </rdf:Description>
</rdf:RDF>
この例のように、XML要素がその名前にXMPプロパティであるものをシリアライズのRDFといいます。

RDFは、Resource Description Frameworkでhttp://www.w3.org/RDF/で定義されています。
>>> 次へ

(記載の会社名および製品名は、各社の登録商標および商標です。)
PDF Tools 製品 概要
PDF Security
PDF Validator
PDF to PDF/A Converter
PDF to Image Converter
PDF Imager-LP
Image to PDF Converter
PDF Printer
PDF Viewer
PDF Viewer-L
PDF Prep Tool Suite
PDF Optimization
PDF Command Line Suite
PDF Extract
PDF Easy Parse
株)トラスト・ソフトウェア・システム
暗号化・電子署名・タイムスタンプ ライブラリ作成します。
お問い合わせください。