as3がバックグラウンドで何かをしていることを知りたいです。私の正確な問題は、xml をインポートする直前に、indesign SDK を使用してドキュメントをパッケージ化しようとしていることです。問題は、パッケージ化するときにドキュメントを保存できないことです。インポートはまだ準備ができていません。これはコードです:
IDScriptingEventAdapter.getInstance().addEventListener(Document.AFTER_IMPORT, afterImport);
document.xmlElements.item(0).xmlElements.item("test").importXML(File.applicationStorageDirectory.resolvePath("temp/styles.xml"));
public function afterImport(event:ImportExportEvent):void {
var docPackaged:Boolean=app.activeDocument.packageForPrint(packagePath, true, true, true, true, true, true, true);
}
ご覧のとおり、Document.AFTER_IMPORT
リスナーで関数を呼び出していますが、何らかの理由ですぐにトリガーされます。
いくつかのテストの後、インポートは完了しましたが、ハンドラーが実行されるまでに xmlElements はまだ配置されていないことに気付きました。その結果、ドキュメントはパッケージ化されるまでに準備ができていないため、ドキュメントを保存できません。
私が得ている正しいエラーは次のとおりです。
Cannot save a copy of “CataloogCS5.indd”.\n
ASがもう何もしていないか(すべてのxmlElementsが追加されているか)、または私の問題に対する他の解決策があるかどうかを確認する方法はありますか?