3

我必须在 as3 中进行一些打印,显然是使用flash.printing.PrintJob,但我遇到了问题。

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

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

任何想法?如何取消打印作业?在 AIR 中有一个 PrintJob.terminate() 但我的目标是闪存。

谢谢!

4

1 回答 1

0

我有点困惑你到底想做什么,但你不能这样做吗?(来自 printjob docs,启动函数示例)

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

这样你可以检查设置,如果你不发送()它真的不应该打印。(你确定你没有在你的代码中的某个旧位置发送吗??)一个可能的解决方法(虽然不是最好的,它应该可以工作)是如果它的设置不符合你的偏好,强制你的打印作业重置,就像这样;

myPrintJob = new PrintJob();

如果以上没有帮助,请提供片段和更多细节。祝你好运!

于 2012-11-13T10:38:11.727 回答