Acrobat 6.0 SDK Release Notes - Adobe

Acrobat 6.0 SDK Release Notes
このリリースノートについて
このリリースノートは、インストールした Acrobat SDK のルートに .txt 形式で収録されていま
す。または、Documentation/Getting Started ディレクトリに PDF ファイルとして収録
されています。
このリリースノートは、Acrobat 6.0® Software Development Kit リリース 2 の概要を記載したも
のです。このリリースノートは、次のトピックに分かれています。
* Acrobat 6.0 SDK リリース 2 の新機能
* 新しいエンドユーザライセンス契約
* PDDocSaveParamsRec の予約されているメンバ
* Windows 用の新しい環境変数
* Adobe Solutions Network の連絡先
* プラグインの Prefix の登録
* マニュアル
* Adobe Dialog Manager
* サポートされている開発環境
* サポートされているオペレーティングシステム
* ツール
* 既存のプラグインを Acrobat 6.0 にアップグレードする
* サーバ側の開発
* このリリースの既知の問題点
各マニュアルの概要や、よくある質問については、Getting Started フォルダに収録されている
『Acrobat Developer FAQ』および『Getting Started Using the Acrobat Software Development Kit』を参
照してください。
Acrobat 6.0 SDK リリース 2 の新機能
Acrobat 6 SDK リリース 2 は、Acrobat 6 SDK の 2 番目のパブリックリリースです。リリース 1
とリリース 2 の主な相違点は、リリース 1 では一部のマニュアルが草稿状態であったのに対し、
リリース 2 では最終版になったことです。
Acrobat 6 SDK では、JavaScript に関する多数のマニュアルやサンプルが、初めて収録されまし
た。また、いくつかの新しいツールやプラグインも追加されています。新たに追加されたサンプ
ルの中で特に注目すべきものとして、SnippetRunner があります。SnippetRunner には多くのサ
2003 年 7 月
1
Acrobat 6.0 SDK Release Notes
ンプルコードが含まれており、簡単にコードのテストをすることができます。6.0 の新しいコー
ドサンプルの大部分は、SnippetRunner プロジェクト内に含まれています。サンプルの詳細は、
『Acrobat SDK Samples Guide』を参照してください。
このリリースでは、『Acrobat JavaScript Scripting Reference』
(以前は『Acrobat JavaScript Object
Specification』と呼んでいたもの)が初めて収録されました。新しいマニュアルとしては、
『Acrobat JavaScript Scripting Guide』
、
『Using the Save as XML Plug-in』および『AcroColor API
Reference』があります。既存のプラグインを Acrobat 6 に移行する方法については、『Upgrading
Plug-ins from Acrobat 5.0 to Acrobat 6.0』を参照してください。『Digital Signature Overview』は、
『Digital Signature API Reference』に統合されました。『Acrobat PDFWriter API Reference』はなくな
りました。これは、Acrobat 製品から PDFWriter がなくなったためです。
新しいエンドユーザライセンス契約
Acrobat 6.0 SDK エンドユーザライセンス契約(EULA)が変更されました。この契約を注意して
読んで、その条項に従って SDK を使用してください。
PDDocSaveParamsRec の予約されているメンバ
構造体 PDDocSaveParamsRec の ASUns32 型メンバ変数 numSubFilesToCompact は、将来
使用するために予約されており、0 に設定する必要があります。現時点の『Acrobat Core API
Reference』では、このメンバ名のスペルを間違って記載していますので、注意してください。ま
た、マニュアル内のこのメンバに関する記述は無視してください。
Windows 用の新しい環境変数
Acrobat 6 SDK では、Windows システム用の AcroSDKPIDir 環境変数が導入されました。この
環境変数は、コンパイルしたプラグインの出力先を設定するものです。設定は、マイコンピュー
タ/コントロールパネル/システム/詳細から行えます。通常は、C:¥Program
Files¥Adobe¥Acrobat 6.0¥Acrobat¥plug_ins¥AcrobatSDK ですが、Acrobat 6 をど
こにインストールしたかによってこの場所は変わります。
Adobe Solutions Network の連絡先
ディベロッパーサポートは、Adobe Solutions Network の一部としてご利用いただけます。ディ
ベロッパーサポートの個々のインシデントを 5 パックまたは 10 パック購入することができます。
米国とカナダ、および、ヨーロッパ、中東、アフリカ、日本以外の地域での連絡先:
* Adobe Solutions Network Adobe Systems Incorporated P.O. Box 609 Klamath Falls, OR 97601
* プログラムに関するお問い合せ:電話:+1-800-685-3510(米国とカナダのみ)または
+1-206-675-6145、FAX: +1-800-955-1610
* メンバーシップに関するお問い合せ:電子メール:[email protected]、Web:
http://partners.adobe.com
2003 年 7 月
2
Acrobat 6.0 SDK Release Notes
ヨーロッパ、中東、アフリカでの連絡先:
* Adobe Solutions Network P.O. Box 12356 Edinburgh EH11 4GJ Scotland, United Kingdom
* プログラムに関するお問い合せ:電話:+44 131 458 6800、FAX:+44 131 458 6801
* メンバーシップに関するお問い合せ:電子メール:[email protected]、Web:
http://partners.adobe.com
日本での連絡先:
* 〒 113-0021 東京都文京区本駒込 2-28-8 文京グリーンコート郵便局 私書箱第 43 号
アドビ システムズ 株式会社 ASN 事務局
* プログラムに関するお問い合せ:電話:03-5740-2620、FAX:03-5740-2621
* メンバーシップに関するお問い合せ:Web:
http://partners.adobe.com/asn/japan/developer/benefits.jsp
プラグインの Prefix の登録
開発者の皆様がプラグインの Prefix を登録するための新しい Web ページが用意されました。
URL は次のとおりです。
http://partners.adobe.com/asn/acrobat/pdfregister.jsp
また、第 1 クラスの PDF Name についてご提案がある場合は、次の Web ページからお寄せくだ
さい。
http://partners.adobe.com/asn/developer/feedback.jsp
注意: 以前使用されていた電子メールアドレス([email protected])は、現在は使用で
きません。
第 1 クラス、第 2 クラスおよび第 3 クラスの PDF Name の違いについては、
『PDF Reference』の
付録 E を参照してください。
マニュアル
注意: マニュアルセットに含まれているマニュアル間でハイパーリンクできるようにするには、
Acrobat 6 の編集/環境設定/一般の「他のファイルへのリンクを同じウィンドウで開
く」をオフに(チェック解除)してください。このオプションをチェックしたままにす
ることもできますが、その場合は、リンクをクリックする前に、移動先のマニュアルを
あらかじめ開いておいてください。そうすることで、元のマニュアルのリンクをクリッ
クしたときに、移動先のマニュアルの正しい位置にジャンプできるようになります。
注意: SDK リリース 2 に収録されている『PDF Reference』は草稿であり、その旨明記されてい
ます。このマニュアルの最終版は、2003 年の夏の終わりごろにリリースされる予定です。
partners.adobe.com Web サイトで、最終版の提供をご確認ください。
各マニュアルの概要や、よくある質問については、Getting Started フォルダに収録されている
『Acrobat Developer FAQ』および『Getting Started Using the Acrobat Software Development Kit』を参
照してください。
Acrobat SDK には、役に立つ資料が多数収録されています。このリリースノートの PDF 版では、
それらの資料の多くがライブリンク(青色の文字)になっています。ただし、このマニュアルか
らそれらの資料に実際にジャンプするには、お使いのコンピュータの適切なディレクトリにその
2003 年 7 月
3
Acrobat 6.0 SDK Release Notes
資料が存在している必要があります。それらの資料は、SDK をシステムにインストールする際
に自動的に配置されます。
API メソッドは、エラーが起こると例外を発生させます。例外は、それが発生した位置に定義さ
れている例外ハンドラで処理されます。プラグインおよびアプリケーションでは、さまざまな例
外をトラップして処理できるように、固有の例外ハンドラを追加することができます(なるべく
追加するようにすべきです)。発生する例外は、すべて記載するように努めましたが、いくつか
掲載漏れがある可能性があること、また、どのような API メソッドでも例外が発生する可能性が
あることに注意してください。
Adobe Dialog Manager
『Adobe Dialog Manager (ADM) Programmer’s Guide and Reference』が更新され、最新バージョンの
ADM に合わせて修正が行われました。Acrobat 6 で利用できる ADM API は、Acrobat 5 のものと
基本的には同じです。ただし、SDK は IADM ラッパーをサポートしなくなりました。ADM の C
呼び出しを直接使用することをお勧めします。詳細は、『Upgrading Plug-ins from Acrobat 5.0 to
Acrobat 6.0』を参照してください。
MacOS で ADM を使用するには、プラグインを「カーボン化」(Acrobat 5)するか、プラグイン
で新しい plist(Acrobat 6)機能を使用する必要があります。Carbon SDK をダウンロードするに
は、次を参照してください。
http://developer.apple.com/sdk/index.html
サポートされている開発環境
Acrobat 6.0 SDK は、次のコンパイラをサポートしています。
* Microsoft Windows 32 ビット:Visual C++ 6.0 SP 5
* MacOS:Metrowerks CodeWarrior 8.2 またはそれ以降
注意: これらの開発環境の評価版はサポートされていません。
サポートされているオペレーティングシステム
Acrobat 6.0 SDK は、次のオペレーティングシステムをサポートしています。
* Windows:Windows 98 SE、Windows NT 4.0 sp6、Windows 2000 Professional SP2、
Windows XP
* Macintosh:Mac OS 10.2.2 および Mac OS 10.2.4
ツール
Visual Studio 6.0 のプラグインウィザード
Windows プラットフォームでは、便利な開発ユーティリティが使用できます。プラグインウィ
ザードは、Visual C++ のスケルトンプロジェクトを作成できる、便利な開発ツールです。この
ツールでは、簡単な UI 要素、HFT サポート、通知フックなどの機能セットが実装されます。詳
しくは、ウィザードのリリースノートを参照してください。
2003 年 7 月
4
Acrobat 6.0 SDK Release Notes
Verify URLs プラグイン(Windows のみ)
VerifyURLs は、文書内で「Web リンクを開く」のアクションを持っているすべてのリンク注釈
をスキャンして、その注釈に関連付けられている URL が有効なリソースを指しているかどうか
を確認するツールです。
このツールの機能には、アドバンスト/リンク/ Verify web links in document メニュー項目か
らアクセスできます。ユーザは、必要に応じてプロキシサーバのアドレスとポートを指定するこ
とができます。その後、アクティブな文書内のすべてのリンク注釈がスキャンされます。「Web
リンクを開く」のアクションを持つリンク注釈が見つかった場合、プラグインはそのリンクが有
効かどうか確認しようと試みます。このサンプルでは、ソケットの機能を利用して、関連付けら
れているリソースが存在するサーバに HTTP HEAD リクエストを送信します。そして、返された
応答を解析して HTTP のステータスコードを抽出し、それをステータスダイアログ内に表示しま
す。表示されるマークの意味は、次のとおりです。
赤色の四角:リンクに関連付けられている URI は無効です。
赤色の X:SOCKET エラー。URI は有効である場合とそうでない場合があります。
黄色の四角:サーバへの問合せが保留されました。
緑色の四角:リンクに関連付けられている URI は有効です。
注釈インデックスは、そのページの注釈配列のインデックスです。ステータス番号は、サーバか
ら返された HTTP のステータスコードです。
プラグインローダ
プラグインローダを使用すれば、プラグインのデバッグセッションの最中に Acrobat を終了して
起動しなおす必要がなくなります。
注意: サンプルの中には、プラグインローダに対応していないものもあります。
PluginLoader プラグインを Acrobat のプラグインフォルダにインストールして、Acrobat を起動
してください。アドバンスト/ Acrobat SDK メニューに、「Load Plugin」というメニュー項目
が追加されます。このメニュー項目を選択すると、ファイルを開くダイアログボックスが表示さ
れます。ロードするプラグインを選択して、「OK」をクリックします。PluginLoader は、
Acrobat が起動時にプラグインをロードするのと同じ初期化手順を使用して、プラグインをロー
ドしようと試みます。
その後、プラグインのインタフェイスが使用できるようになり、テストできるようになります。
プラグインを修正したり、別のプラグインをロードしたりする場合は、同じメニュー項目
(
「Unload Plugin」という名前になっています)を選択して、プラグインをアンロードし、ク
リーンナップ処理を行います。
注意: プラグインには、AVAppDidInitialize などの Acrobat の初期化通知は送られません。
注意: プラグインでは、PluginUnload ルーチンを使用して正しくアンロードを行うようにして
ください。これを行わないと、状態が不安定になることがあります。アンロードでは、
少なくとも UI 要素の削除と、あらゆる種類の通知の登録解除を行ってください。
注意:(Macintosh のみ)PluginLoader がプラグインのメインルーチンを探せるようにするために
は、そのルーチンをエクスポートする必要があります。標準の Macintosh プラグインで
は、これを行っていません。簡単な対処方法としては、PPC PEF パネルにあるプラグイ
ンの「シンボルのエクスポート」設定を「すべてのグローバル」に変更して、プラグイ
ンを再リンクします。
2003 年 7 月
5
Acrobat 6.0 SDK Release Notes
既存のプラグインを Acrobat 6.0 にアップグレードする
Acrobat 5 から Acrobat 6 へのプラグインのアップグレードについて詳しくは、『Upgrading Plugins from Acrobat 5.0 to Acrobat 6.0』を参照してください。プラグインを Acrobat 6.0 にアップグ
レードする場合には、次の点に注意する必要があります。
* Reader 専用のプラグインを Macintosh 版 Adobe Reader 6.0 で動作させるには、Reader プラ
グインとして再度有効化する必要があります。
* インタフェイスが変更されています。GUI 上でプラグインを利用する方法を適切に決める必要
があります。必要に応じて変更を加えてください。
* 多数のメソッドおよびデータ構造体が追加または変更されています。新しいヘッダファイルで
コードをコンパイルしなおして、必要に応じて変更を加えてください。
* いくつかの API は、使用が推奨されなくなりました。『Acrobat Core API Reference』の最後の
「API Changes」の節を参照してください。
* Acrobat 6.0 で導入された新しい HFT(AcroColor HFT など)を使用したプラグインは、
Acrobat 6.0 よりも前のバージョンでは動作しません。それらの HFT がロードできなかった場合
に、プラグインの初期化を中止するかどうかは、PIMain.c で PI_HFT_OPTIONAL という新
しいフラグを使用して制御します。デフォルトでは、これらのフラグは未定義になっています。
つまり、HFT をロードしようとしたがロードできなかった場合、初期化は失敗します。
PI_HFT_OPTIONAL をある値(1 が望ましい値です)に定義した場合には、ロードが失敗して
も初期化は続行されます。
* Macintosh ツールボックスの SetPort 呼び出しと、その呼び出しに帰着するマクロは、同等
の呼び出しである SetGWorld に変更する必要があります。詳しくは、『Acrobat Development
Overview』を参照してください。
* Macintosh プラットフォームでは、 WaitNextEvent を呼び出すプラグインは、代わりに
AVAppYieldToOtherApps を呼び出す必要があります。これにより、
AVAppYieldToOtherApps は、ReceiveNextEvent を呼び出すため、Carbon イベントの
処理に関する問題を回避することができます。 AVAppYieldToOtherApps は、他のプラット
フォームでは何の機能も果たさないので、正常にコンパイルされます。ただし、
AVAppYieldToOtherApps への引数には kEventDurationForever 定数の使用が推奨され
ます(結果的に、これは CodeWarrior の CarbonEvents.h にある定義ですので、移植性は悪
化します)。
サーバ側の開発
Acrobat 6.0 フォームを開発している場合は、FDF Toolkit のリリース 5.0 を取得する必要があり
ます。FDF Toolkit は、partners.adobe.com Web サイトからダウンロードできます。
このリリースの既知の問題点
* (Acrobat JavaScript)javascript: <client-side JavaScript> でプロトコルを指定
しているすべての URI アクションは、必ず失敗し、例外は発生しません。このようなプロトコル
は、例えば、Acrobat の UI や pdfmark オペレータによって作成された、フォームボタンやリン
クの「Web リンクを開く」アクションで使用されることがあります。
2003 年 7 月
6
Acrobat 6.0 SDK Release Notes
* AVDocPrintOverrideData 構造体を使用して、1 ビットモノクロまたは 8 ビットグレイにし
ても、Acrobat 6 のプレビュー機能ではフルカラーで表示されます。
* AVPageViewInvertQuad を使用するプラグインを Acrobat 5 と 6 の両方で動作させたい場
合、AVCompat.cpp に次のコードを追加し、代わりに AVPageViewInvertQuadCompat
ルーチンを呼び出すようにしてください。この新しいルーチンは、ラッパーを追加して、5.0 に
合わせて引数のサイズを減らします。Quad パラメータは、Acrobat 6 で 16 ビットから 32 ビッ
トに変更されましたが、この変更を処理するための互換コードが互換ファイルに追加されていま
せんでした。
typedef struct _oldQuad {
ASInt16 tlh, tlv;
ASInt16 trh, trv;
ASInt16 blh, blv;
ASInt16 brh, brv;
} oldQuad;
void AVPageViewInvertQuadCompat(AVPageView pageView, const Quad *quad,
ASBool highlight)
{
if (gAcroViewVersion >= AcroViewHFT_VERSION_6)
AVPageViewInvertQuad(pageView, quad, highlight);
//call 6.0+ version
else {
oldQuad oldq;
oldq.tlh = StepDown(quad->tlh);
oldq.tlv = StepDown(quad->tlv);
oldq.trh = StepDown(quad->trh);
oldq.trv = StepDown(quad->trv);
oldq.blh = StepDown(quad->blh);
oldq.blv = StepDown(quad->blv);
oldq.brh = StepDown(quad->brh);
oldq.brv = StepDown(quad->brv);
AVPageViewInvertQuad(pageView, (const Quad *)&oldq,
highlight); //call earlier version at same location
}
}
* Acrobat 5.x で IAC を使用している場合、Lock を呼び出しても、ユーザは Acrobat を使用する
ことができてしまいました。この問題は修正されました。
* FormsHFT.h の AFLayoutIconText は使用しないでください。
* FormsHFT.h の AFLayoutTextEx は使用しないでください。
* FormsHFT.h の AFPDFieldValueChanged は使用しないでください。
* ASFileSysGetStorageFreeSpace は、指定したパスが 127 文字を超えていると、0 を返し
ます。
PDExpT.h から PDPageMarkFlags が抜け落ちていました。今後のリリースで戻される予定で
す。この関数は、『Acrobat Core API Reference』に掲載されています。
enum {
kPDPageEmitColorBars = 0x0001,
kPDPageEmitRegMarks = 0x0002,
kPDPageEmitCropMarks = 0x0004,
kPDPageEmitBleedMarks = 0x0008,
kPDPageEmitPageInfo = 0x0010,
2003 年 7 月
7
Acrobat 6.0 SDK Release Notes
kPDPageEmitTrimMarks = 0x0020,
kPDPageEmitSlurMarks = 0x0040
};
typedef ASUns32 PDPageMarkFlags;
次のものは使用しないでください。これらは、今後のリリースのヘッダファイルから削除される
予定です。
* ASFileSysGetPlatformThing
* PDSElementInsertMCAsKidEx
* WinAppLockViewer
* ASTextEvalProc
* PDSysFontGetScript
* PDScript
* AVAppGetPMPageFormat
* AVAppGetPMPrintSettings
* ASFileClearOutstandingMReads
* ASFileMReadRequest
* ASFileSysSetModeProc
* kASFileDoCaching
* AVMouseEvent
* PDEContentAddPage
* PDTextSelectEnumRTFTextProc
* AVAppGetPrefAtom
* AVAppGetPrefBool
* AVAppGetPrefCab
* AVAppGetPrefDouble
* AVAppGetPrefInt
* AVAppGetPrefPathName
* AVAppGetPrefString
* AVAppGetPrefText
* ASCabGetPointerRaw
* ASCabPutPointerRaw
* ASCabDetachPointerRaw
* PDPageArea
2003 年 7 月
8
Acrobat 6.0 SDK Release Notes
* PDTextAnnotIsOpen および PDTextAnnotSetOpen は、テキスト注釈のオープンを正し
く判断したり設定したりできません。Acrobat 4(PDF 1.3)から、テキスト注釈(およびその他
の注釈)にはポップアップ注釈が関連付けられており、そこでポップアップウィンドウのオープ
ン状態を管理しています。 PDTextAnnotIsOpen および PDTextAnnotSetOpen は、ポップ
アップ注釈自体を渡した場合には正しく動作します。Cos レベルのルーチンを使用することで、
注釈ディクショナリ内の /Popup エントリを取得できます。このエントリは、それ自体がディク
ショナリで /Open エントリを含みます。
* AppleScript:Acrobat 5.0 スクリプティング用語説明を開く - Macintosh の構成によっては、
Acrobat が実行されていないときに Acrobat スクリプティング用語説明を開こうとすると、スク
リプトエディタから直接開こうとした場合も、Acrobat 5.0 のアイコンをスクリプトエディタの
アイコンにドラッグ&ドロップした場合も、スクリプトエディタで用語説明が開けないことがあ
ります。スクリプトエディタは、ハングしたような状態になります。実際にはハングしたわけで
はなく、用語説明が開けないというダイアログが数分後に表示されます。この問題を避けるに
は、最初に Acrobat を起動してください。
* AppleScript のサンプル:カスタムの(デフォルトではない)タイトルを付けた PDF を参照す
るときは、文書の名前ではなく、パス名を使用する必要があります。このタイトルは、ファイル
/文書のプロパティ/概要パネルで指定したものです。この不具合は、タイトルバーにデフォル
トの名前が表示される文書には当てはまりません。
* ASFixedToFloat マクロは、その名前に反して、 float を計算しません。これは double
を返します。つまり、Microsoft Visual C++ の次のようなステートメントは、
float fl = ASFixedToFloat(f)
コンパイラから警告されます。警告が出ないようにするには、結果をキャストしてください。
* PDSElementGetAlt、PDSElementGetActualText、PDSElementGetLanguage、
PDSElementGetTitle の各メソッドには、文字列の末尾に不要な NULL を追加する不具合があ
るので、注意してください。したがって、必要なサイズよりも 1 バイト大きなバッファを渡す必
要があります。この余分な 1 バイトは、結果が返ってきた際には無視することができます。
2003 年 7 月
9