2008年04月10日

Acrobat Plug-in(プラグイン)開発(Windows編)

【開発環境】
OS:Windows Server 2003
開発環境:VisualStudio2005 TeamEdition(SP1)
実行環境:Adobe Acrobat 8 Professional(8.1.2)


Adobe Acrobat 8.1 SDK
http://www.adobe.com/devnet/acrobat/

Acrobat用プラグインの開発方法に関して記します。
対象とするのは、Windows版のみです。
基本的に、Windows版プラグインはDLLとして実装され、DllMain()関数がmain()代わりになります。


それでは、以下が実際の作業工程となります。
(設定が間違っていたり必要ない可能性もありますので、ご了承下さい。
ディレクトリ設定は適宜環境に適した設定を行います。)

新しいプロジェクトの作成→VisualC++→MFC→MFC DLL
DLLの種類:MFC をスタティックにリンクした通常のDLL
追加の機能:全てチェックをはずす


以下のsrcをコピーしてくる。
..\sources\StarterInit.cpp
..\..\..\Headers\Api\PIMain.c


以下のディレクトリを、"追加のインクルードディレクトリ"に追加する。

..\..\Acrobat 8 SDK\Version1\PluginSupport\Headers\SDK;..\..\\Acrobat 8 SDK\Version1\PluginSupport\Headers\API;..\..\Acrobat 8 SDK\Version1\PluginSupport\Headers\ADM

"プリプロセッサの定義"に以下を追加する。
WIN_PLATFORM;WIN_ENV;ACRO_SDK_LEVEL=0x00080000

最初、
ACRO_SDK_LEVEL=0x00080000
がない状態でリンクした所、
1>Warning: Using older Acrobat SDK. Define ACRO_SDK_LEVEL to 0x00080000
というWarningが出て、AcrobatでPlug-inが認識されませんでした。


"出力ファイル"に以下を設定します。
C:\Program Files\Adobe\Acrobat 8.0\Acrobat\plug_ins\TestPlugin.api
※Acrobatのディレクトリはインストール時の指定により異なります。


[リンカ]→[コマンドライン]の追加のオプションに以下を追加します。
/EXPORT:PlugInMain


CallBackによる実装。
AcrobatのPlug-inが実行されるタイミングは、登録したCallBack関数によります。
予め以下のようにCallBack関数を登録します。

AVMenuItemSetExecuteProc (menuItem, ASCallbackCreateProto(AVExecuteProc, MyPluginCommand), NULL);

"MyPluginCommand"がCallBack関数です。


メニューへの登録は、以下のAPIを使用します。
AVMenuItemNew()
AVMenubarAcquireMenuItemByName()
AVMenuNew()
AVMenubarAcquireMenuByName()

サブメニューがある場合は、サブメニューの項目から処理します。

メニュー名に"&M"を追加すると、Acrobatのメニューで下線付きのショートカットを設定する事が出来ます。
メインメニューの場合、Alt+指定のキー。

例)"BasicPlugin(&B)"
と指定すると、Acrobat上では"BasicPlugin(B)"という表示になります。
posted by はやむー at 00:00| Comment(1) | TrackBack(0) | Adobe | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
初めまして。ノリと言います。

一つ質問をさせて下さい。
Acrobat用のプラグインを配布するにはAdobe社からライセンスを取得する必要があるのでしょうか?

Adobe Reader 用プラグインを開発する場合は、別途 Adobe Reader Integration Keyの入手が必須となります。
http://kb2.adobe.com/jp/cps/256/2569.html
とありましたが、Acrobatの方は必要ないのでしょうか。

お手数ですが、よろしくお願いいたします。
Posted by ノリ at 2010年07月17日 08:33
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/94264762

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。