我编写了一个 indesign 脚本,它生成需要导出为 PDF 文件的文档。导出是异步发生的,以便用户可以继续工作。生成的文档在导出过程中在后台保持打开状态,只有在相关导出完成后才会关闭。

如何可靠地捕获导出失败,例如当用户从后台任务面板取消后台导出任务时?

ImportExportTask.FAILED_EXPORT 事件似乎没有按照文档描述的那样工作,无论我是在监听应用程序还是正在导出的文档。

我也尝试过使用 IdleTasks 定期检查关联 BackgroundTasks 的状态变化,但这让我觉得很脏,而且 IdleEvent.ON_IDLE 事件不能足够可靠地触发我的目的(根据我自己的经验)。

如果有人能帮我解决这个问题,我真的很感激,我已经在这个轮子上转动了太久了。

谢谢!

最佳答案

检查 BackgroundTask waitforTask() 的返回值,一个 TaskState :

TaskState.CANCELLED  | Task was cancelled (either before it ran or during execution
TaskState.CANCELLING | Task was signalled to cancel but did not stop yet
TaskState.COMPLETED  | Task completed execution (successfully or with errors)
TaskState.QUEUED     | Task was queued and is waiting to be scheduled for execution
TaskState.RUNNING    | Task is running
TaskState.WAITING    | Task is waiting

关于events - InDesign CC 2014 Extendscript : How to reliably close document after asynchronous PDF export,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31479275/

10-12 23:03