使用PrintDocument时出错

本文关键字:出错 PrintDocument 使用 | 更新日期: 2023-09-27 18:01:44

我有一个染料子打印机,我正试图发送一个图像来编程打印。
我在Windows 7 64b上使用c# 4.0的PrintDocument和PrintPage。
打印失败,windows给出如下错误:

The print spooler failed to load a plug-in module 
C:'Windows'system32'spool'DRIVERS'x64'3'S6145UI.DLL, error code 0xc1

打印机在windows默认的打印对话框中工作正常。
当用普通的激光打印机打印时,代码工作正常。
我完全被难住了。

使用PrintDocument时出错

错误码0xc1

ERROR_BAD_EXE_FORMAT。这在64位版本的Windows上并不罕见,但对于打印机驱动程序来说却是一个主要的故障。当64位进程试图加载32位DLL时,您将得到此错误。或者反过来。

很明显是驱动程序有问题,你应该找一个更新。一种可能的解决方法是强制您的程序以另一种模式运行,这对于托管程序来说很容易做到。右键单击EXE项目,选择属性,选择构建选项卡。改变平台目标设置,在AnyCPU和x86之间切换。在VS2012中切换"首选32位模式"复选框。实际上并不确定这是否可行,假脱机程序是它自己的子系统。我认为有一种方法可以强制旧打印机驱动程序在32位模式下运行,请访问superuser.com