我有个奇怪的问题。我有一个通过axacropdf控件显示pdf的程序(做了很多事情,但也做了很多事情)。在控件中,我隐藏工具栏,因为我不希望用户访问它们,所以我做了一个打印按钮(我唯一希望他们访问的功能)。
现在,我拼命想找到如何更改默认打印机的方法,因为Adobe认为不允许在printall()函数中传递打印机路径是明智的。
有两种纸张,一种是便宜的,另一种是非常昂贵的,因此,根据文档类型的不同,它将在另一台打印机上打印(不能弄糟,否则它将很昂贵)。
所以这里,printa是所有东西的默认打印机,printb是昂贵的纸张打印机。
如果我用printb打印,我的程序将当前默认打印机保存在内存中,将默认打印机切换到printb,打印文档,然后切换回printa。
问题是,之后,如果我尝试打印普通文档,它将使用printb打印(即使print a是默认打印机)。
反之亦然。如果我先用print a打印一份普通的文档,之后,它仍然使用print a打印特殊文档摘要。
在我关闭程序之前,这是可以做到的。所以起初我以为这是我的程序,但我调试了它,一切都很好。我甚至用printWithDialog()进行测试,当它第一次通过它时,它将弹出对话框,但随后当它通过它时,它将什么也不做:o
所以我完全迷失在如何修复这个问题上,我觉得我需要访问工具栏,让他们自己设置打印机和打印数量(这是一个非常糟糕的主意,你不知道他们有多蠢)。