代码之家  ›  专栏  ›  技术社区  ›  Wildhorn

C Acropdf总是在第一台打印机上打印

  •  0
  • Wildhorn  · 技术社区  · 15 年前

    我有个奇怪的问题。我有一个通过axacropdf控件显示pdf的程序(做了很多事情,但也做了很多事情)。在控件中,我隐藏工具栏,因为我不希望用户访问它们,所以我做了一个打印按钮(我唯一希望他们访问的功能)。

    现在,我拼命想找到如何更改默认打印机的方法,因为Adobe认为不允许在printall()函数中传递打印机路径是明智的。

    有两种纸张,一种是便宜的,另一种是非常昂贵的,因此,根据文档类型的不同,它将在另一台打印机上打印(不能弄糟,否则它将很昂贵)。

    所以这里,printa是所有东西的默认打印机,printb是昂贵的纸张打印机。

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

    反之亦然。如果我先用print a打印一份普通的文档,之后,它仍然使用print a打印特殊文档摘要。

    在我关闭程序之前,这是可以做到的。所以起初我以为这是我的程序,但我调试了它,一切都很好。我甚至用printWithDialog()进行测试,当它第一次通过它时,它将弹出对话框,但随后当它通过它时,它将什么也不做:o

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

    1 回复  |  直到 15 年前
        1
  •  0
  •   Wildhorn    15 年前

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