我必须在as3中做一些打印,显然是用flash.printing.PrintJob进行的,但是我有一个问题。

我必须验证用户在PrintJob.start()显示的打印对话框中设置的设置是否与数据库中存储的某些设置匹配,并且除了调用PrintJob.start()之外没有其他方法可以获取该信息。

如果页面设置无效,那么我既不会调用addPage()也不会调用send(),而是会在几秒钟后(大约15个间隔)打印一个空白文档。

任何想法?如何取消PrintJob?在AIR中有一个PrintJob.terminate(),但我的目标是Flash。

谢谢!

最佳答案

我有点疑惑,您实际上想做什么,但是您不能这样做吗? (来自printjob docs,启动功能示例)

var myPrintJob:PrintJob = new PrintJob();
if(myPrintJob.start()) {
// addPage() and send() statements here
}


这样,您可以检查设置,如果您不发送(),它真的不应该打印。 (您确定没有在代码中的旧位置发送邮件吗?)
一个可能的解决方法(虽然不是最好的,它应该可以工作)是在打印作业的设置与您的首选项不匹配时,强制您重置打印作业,例如:

myPrintJob = new PrintJob();


如果以上方法没有帮助,请提供摘要和更多详细信息。
祝好运!

07-26 09:39