PDFKit

Tiger には新しくフレームワークが追加されているが、いまのところあまり注目を浴びていない PDFKit を少しかじってみた。というのは PDF のメタデータ編集がしたかったから。とくにスキャンした PDF ファイルだと単なる画像なのでテキスト検索も出来ないから、著者やタイトル、キーワードなんかをメタデータとして保存しておくだけでずいぶん使い勝手が変わる。Spotlight の登場で余計とメタデータが重要になった。

PDFKit で PDF のメタデータを編集するのは非常に簡単で、

  PDFDocument *document = [[PDFDocument alloc] initWithData:
                             [NSData dataWithContentsOfFile:filename]];
  NSDictionary *attributes = [document documentAttributes];

これだけで辞書形式でメタデータが取得できる。書き出しも

  [document setDocumentAttributes:attributes];
  [document writeToFile:filename];

で OK。あとは Interface Builder でさくっとインターフェースを作ってやれば簡易メタデータ編集ソフトになってしまう。いまのところメタデータの種類として定数が 8 個ほど定義されている。

しばらく前に iTunes を利用した PDF の管理方法が話題になったが、Spotlight の基盤技術である Core Data フレームワークと PDFKit を使ってやれば、驚くほど簡単に PDF の管理ソフトウェアが作成できそうだ。

Mac OS X 10.3 から利用できるようになった Cocoa Binding は非常に強力で、一度使ってしまうと以前の環境には戻りたくなくなるはず。10.4 "Tiger" でさらに Core Data や今回の PDFKit が加わってさらに素晴らしい環境になった。Mac の本業プログラマはそう簡単に過去のバージョンを切り捨てるわけにはいかないから、Core Data なんかは数年間は指をくわえているしかないんだろうけど、辛いだろうなぁ。