C# windows窗体使用AXPDF打印pdf

C# windows窗体使用AXPDF打印pdf,c#,winforms,printing,axacropdf,C#,Winforms,Printing,Axacropdf,ASP.NET 4.5,c#,VS2013 我有一个用c#编写的windows窗体应用程序。应用程序创建了一个pdf,我想将它打印到一个特定的打印机上。 我可以做到: axAcroPDF1.printWithDialog() 用户从列表中选择打印机 但我的用户根本不喜欢这样。在这种情况下,首选打印机位于列表中,他们希望此打印机仅为该程序的默认打印机 我无法在axAcroPDF中看到类似于默认打印机的属性,并且我不知道如何仅为此windows应用程序设置默认打印机 请提供最佳解决方案。我没想到事

ASP.NET 4.5,c#,VS2013

我有一个用c#编写的windows窗体应用程序。应用程序创建了一个pdf,我想将它打印到一个特定的打印机上。 我可以做到:

axAcroPDF1.printWithDialog()
用户从列表中选择打印机

但我的用户根本不喜欢这样。在这种情况下,首选打印机位于列表中,他们希望此打印机仅为该程序的默认打印机

我无法在axAcroPDF中看到类似于默认打印机的属性,并且我不知道如何仅为此windows应用程序设置默认打印机

请提供最佳解决方案。我没想到事情会变得这么复杂。
谢谢,

我认为您不能为每个应用程序设置默认打印机,只能为每个用户设置。(如果不是这样,我洗耳恭听!)

您可以尝试以编程方式获取默认打印机,将其设置为所需,然后在处理完PDF后将其设置回原始值。您可以使用和通过Windows API实现这一点


您需要知道如何从C#调用Windows API。如果您不确定从哪里开始,请查看。

谢谢Gareth,我将查看pinvoke。我的问题是:我不想更改默认打印机,而是想将PDF打印到特定的打印机。我知道,但是如果打印功能只允许您打印到默认打印机(不显示打印对话框),那么您可能需要临时更改默认打印机以获得所需的内容(我似乎还记得有一个函数可以无声地打印到默认打印机)我总结了以下解决方法:使用axAcroPDF显示PDF禁用工具栏打印对话框打印PDF,其中我所需的打印机是可用打印机列表中的第一个。