How to Develop pKizzy Meta-Information Extractor

last updated on 6.11.2005

システム条件
OS X 10.4 以降。Xcode のインストールが必要です。

ダウンロードするファイル
pKizzy ページのダウンロードから以下のファイルのどちらかをダウンロード
  • pAMetaInfoExtractor.h
    pAMetaInfoExtractor protocol を定義したヘッダ・ファイル。
    プラグインのビルド法が分かる人はこれだけで十分でしょう。

  • pAMExSDKxxx.dmg
    上記ヘッダ・ファイルを含む,サンプルの Xcode プロジェクト。
pAMetaInfoExtractor protocol について
プラグインを作成するためには,pAMetaInfoExtractor protocol に準拠したクラスを作成する必要があります。
pAMetaInfoExtractor.h ファイル中で定義されています。
実装すべきメソッドは以下の5つです。
- (NSString *)name;
- (NSString *)version;
- (NSString *)creator;
エクストラクタの名前,バージョン,および作成者。

- (float)confidencePDFMatches:(id)pdfDocument;
pdfDocument は PDFDocument クラスの autorelease されていないインスタンス。 後で他のエクストラクタにも送られる可能性があるので,変更を加えないように。
与えられた PDFDocument をエクストラクタが正しく解析できる対象であるか判断して,正しく解析できる confidence を 0 (できない) から 1 (できる) の間の float 値として返す。
開発者への注意: 基本的に,0 または 1 を返すようにしてください。

- (NSDictionary *)propertiesExtractedFromPDF:(id)pdfDocument;
pdfDocument は PDFDocument クラスの autorelease されていないインスタンス。 後で他のエクストラクタにも送られる可能性があるので,変更を加えないように。
与えられた PDFDocument を解析して得られたプロパティを NSString として dictionary に格納し,返り値とする。 pAMetaInfoExtractor.h ファイル中で define されたキーが有効。
開発者への注意: 解析できなかったプロパティは dictionary には含めないでください。

ビルドのための注意点
  • プラグインごとに独自のクラス名をつけてください。
    異なるプラグイン・ファイルから同じクラス名を持つエクストラクタを同時に読み込むことはできません。

  • PDFKit を使用するため,Quartz.framework が必要です。
    過去記事などを参照して組み込んでください。 サンプルのプロジェクトではすでに組み込んであります。

  • 新規ターゲットを作成する場合,ターゲットの「ラッパーの拡張子」を "plugin" に設定してください。
    Xcode 上でターゲットの情報 >「ビルド」で設定できるオプション項目の1つです。