C#AcroPDF始终在第一台打印机上打印

时间:2010-08-02 12:36:29

标签: c# pdf adobe printing

我遇到了一个奇怪的问题。我有一个程序(确实很多东西)通过axAcroPDF控件显示pdf。在控件中,我隐藏了工具栏,因为我不想让用户访问它们,所以我创建了一个Print按钮(我希望他们可以访问的唯一功能)。

现在,我开始寻找如何更改默认打印机,因为Adobe认为不允许在printAll()函数中传递打印机路径是明智的,如图所示。

有两种纸,一种便宜,一种非常昂贵,所以根据什么类型的文件,它将在一台打印机上打印而另一台打印机(并且不得搞砸,否则它将是昂贵的)。

所以在这里,PrintA是所有东西的默认打印机,PrintB是昂贵的纸质打印机。

如果我使用PrintB打印,我的程序会将当前默认打印机保留在内存中,将默认打印机切换到PrintB,打印文档,然后切换回PrintA。 问题是,之后如果我尝试打印普通文档,它将使用PrintB进行打印(即使PrintA是默认打印机)。

反之亦然。如果我首先使用PrintA打印普通文档,之后仍然会使用PrintA打印特殊文档。

直到我关闭程序才会这样做。所以我一开始认为这是我的程序,但我调试了它,一切都很好。我甚至用printWithDialog()进行测试,并且第一次通过它时,它会弹出对话框,但随后它会通过throu,它将什么都不做:O

所以我完全迷失了如何解决这个问题,我觉得我需要访问工具栏并让他们自己设置打印机和打印量(这是一个非常糟糕的主意,你不知道如何他们是愚蠢的。)

1 个答案:

答案 0 :(得分:0)

我们终于认为,如果我们不必处理Adobe,我们所有的问题都会更好。这正是我们所做的。我们安装了Foxit,我们所有的打印机剧都消失了!