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

XMP PDF埋め込みメタデータ SDKについて

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

XMPとは、Adobe Extensible Metadeta Platformでディジタルメディアやワークフロー間でメタデータ(XMLを使って記述された、ファイルの内容を示す情報)の キャプチャや保持そして移植がしやすいオープンな標準対応テクノロジーです。
XMPを操作するためのSDK(API)は、Adobeによって公開されています。 その利用法について解説しています。
XMPは、PDF Toolsソフトを使って容易に追加や変更ができます。しかし、そのデータ(XML)は知識を持って作成しなければなりません。 XMP形式についての解説と共にこのSDKを使ってXMPデータを作成し、PDF ToolsでPDFデータにメタデータを埋め込んでください。

1. SDK ダウンロード

XMP用のSDKは、以下(Adobeのサイト)からダウンロードできます。
http://www.adobe.com/devnet/xmp.html

このページの上部にある「XMP Toolkit SDK CC-2013.06」(2013年7月31日現在)をクリックして表示されたがめんの下方にあるダウンロードのリンクをクリックしてダウンロードしてください。

2. SDK に含まれていないツールを補充

ダウンロードしたファイルを解凍するといくつかのフォルダーができます。SDKを作成するためには、いくつかのツールを追加しなければなりません。 必要なツールは、以下のとおりです。
1. CMake - Visual Studio用のプロジェクトを作成します。
2. expat - XMLパーサ
3. zlib - 圧縮伸張ツール
注意:ここでは、32ビット版について記します。64ビット版の場合は、適宜読み替えてください。

2.1 CMake

Adobeのサイトからダウンロードしたフォルダーを解凍すると<xmpsdk>\tools\cmakeというフォルダー(<xmpsdk>は、解凍したフォルダー)があります。このフォルダーは、CMakeの必要な実行ファイルなどを格納するためのCMake用のプレースフォルダーです。 詳細は、<xmpsdk>\tools\cmake\ReadMe.txtに記載されています。
ここでは、CMakeのバイナリーをダウンロードして利用できるようにします。
  1. ダウンロード
  2. http://www.cmake.org/cmake/resources/software.htmlの「Binary distributions:」からcmake-2.8.11.2-win32-x86.zipをダウンロードします。
  3. 解凍
  4. ダウンロードしたファイルを適当なフォルダーで解凍します。作業後は、このフォルダーごと削除できます。
  5. 実行イメージ他をコピー
  6. 解凍したフォルダーにある「\bin」と「\share」のすべてを<xmpsdk>\tools\cmakeフォルダーにコピーします。<xmpsdk>\tools\cmake\binと<xmpsdk>\tools\cmake\shareができます。

2.2 expat

<xmpsdk>\third-party\expatフォルダーに移動します。このフォルダーは、XMLパーサを格納するプレースホルダーです。 詳細は、<xmpsdk>\third-party\expat\ReadMe.txtに記載されています。
ここでは、xpatのソースコードを利用します。
  1. ダウンロード
  2. http://sourceforge.net/projects/expat/files/expat/2.1.0/からexpat-win32bin-2.1.0.exeをダウンロードします。
    必要なのは、ソースコードだけですのでそれをコピーした後は、アンインストールしてかまいません。
  3. インストール
  4. ダウンロードしたファイルをダブルクリックして実行し、指示に従ってインストールします。
  5. ソースコードをコピー
  6. <Program Files>\Expat 2.1.0\Source\libを<xmpsdk>\third-party\expatフォルダーにコピーします。<xmpsdk>\third-party\expat\libができます。

2.3 zlib

<xmpsdk>\third-party\zlibフォルダーに移動します。このフォルダーは、圧縮伸張用のzlibを格納するプレースホルダーです。 詳細は、<xmpsdk>\third-party\zlib\ReadMe.txtに記載されています。
ここでは、zlibのソースコードを利用します。
  1. ダウンロード
  2. http://www.zlib.net/の下方にあるソースコードzlib source code, zipfile formatをダウンロードします。を使います。
  3. 解凍
  4. ダウンロードしたファイルを適当なフォルダーで解凍します。作業後は、このフォルダーごと削除できます。
  5. ソースコードをコピー
  6. 解凍したフォルダーにある「.h」と「.c」ファイルのすべてを<xmpsdk>\third-party\zlibフォルダーにコピーします。

3. SDKのプロジェクトをビルド

SDKを作成(コンパイル)するためのVisual Studioのプロジェクトを生成します。生成されるのは、Microsoft Visual Studio 2010のプロジェクトです。
<xmpsdk>\buildに移動して、GenerateXMPToolkitSDK-win.batをダブルクリック(もしくは、コマンドプロンプトを起動して実行)します。 メニューが表示されますので、必要なライブラリを選択してプロジェクトをビルドします。
ご注意ください。XMP Toolkitに含まれるサンプルはスタティックライブラリが必要(初期状態)ですので、必要に応じてビルドしてください。

4. SDKを作成(コンパイル)

プロジェクトがビルドされると、<xmpsdk>\build\vc10フォルダーが作成されその中に「dynamic」もしくは「static」のいずれか、もしくはその両方のフォルダーが作成されています。いずれの場合でもそのフォルダーには「Windows」がありそこにVisual Studioのプロジェクトがあります。
「<xmpsdk>\build\vc10\dinamic\windows」または「<xmpsdk>\build\vc10\static\windows」に移動します。 ここで、XMPToolkitSDK.slnを使ってVisual Studioを起動します。「ALL_BUILD」プロジェクトでビルドします(すべてのプロジェクトがビルドされます)。
作成されたライブラリは、<xmpsdk>\public\libralies\windowsフォルダーにdynamicとsutaicに分けて格納されます。

5. SDK用サンプルをコンパイル

SDKが作成されれば、それを利用するサンプルを作成できます。
<xmpsdk>\samples\buildに移動して、「GenerateSample-win.bat」をダブルクリック(またはコマンドプロンプトで実行)します。 メニューが表示されますので、必要なプロジェクトをビルドします。
<xmpsdk>\samples\build\vc10に「windows」または「windows_x64」フォルダーが作成されます。そのフォルダーに移動してソリューションファイルを使ってVisual Studioを起動し「ALL_BUILD」プロジェクトですべてのサンプルをビルドします。

6. SDK用サンプルの実行

サンプルの実行イメージは、<xmpsdk>\samples\target\windowsフォルダの中にDynamicとStaticに分けて格納されます。 各コマンドは、スイッチ「-help」を付けて起動するとヘルプが表示されます。またテスト用のファイルは、<xmpsdk>\samples\testfilesに用意されていますので適宜利用します。

(記載の会社名および製品名は、各社の登録商標および商標です。)
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
株)トラスト・ソフトウェア・システム
暗号化・電子署名・タイムスタンプ ライブラリ作成します。
お問い合わせください。