我想知道 as3 正在做的是在 bakground 中做任何事情。我的确切问题是我正在尝试使用 indesign sdk 打包文档,就在此之前我正在导入 xml,问题是打包时无法保存文档,我很确定这是因为导入还没有准备好。这是代码:
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)或其他解决方案来解决我的问题?