Windows 8在打印pdf文件的c#过程中出错,如何操作
本文关键字:何操作 操作 出错 过程中 打印 pdf 文件 Windows | 更新日期: 2023-09-27 18:28:10
以下代码至少可以在Windows 7中完美打印pdf文件,但在Windows 8中出现错误:
Process process = new Process();
//process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.FileName = defFile;
if (rwPrinter.Length > 0)
{
process.StartInfo.Verb = "printto";
process.StartInfo.Arguments = "'"" + rwPrinter + "'"";
}
else
{
process.StartInfo.Verb = "print";
}
process.Start();
以下是错误的一些细节:
************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005):
No application is associated with the specified file for this operation
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at ECitation.Form1.process_ticket(String jobdo)
at ECitation.Form1.btnPrint_Click(Object sender, EventArgs e)
无论如何,我知道有一个用于pdf文件的adobe阅读器,但我不知道在Windows 8上工作需要什么,所以这个错误不会再次发生。
编辑,现在这在Windows 8中很奇怪:printto未被识别为内部或外部命令
我试着在谷歌上搜索这个,但很震惊没有结果。我所要做的就是用程序将我的文档打印到特定的打印机上。
错误消息告诉您需要知道的所有信息。pdf文件扩展名上没有为printto谓词定义任何内容。如果你想让这种方法发挥作用,你需要配置你的文件关联来弥补这一点。
你试图做到这一点的方式非常脆弱,因为它依赖于第三方PDF查看器的模糊性。如果控制了运行应用程序的所有计算机,则可以根据需要配置PDF查看器。否则,您可能需要处理大量的客户支持。一个更强大的解决方案是使用提供此类功能的众多库之一,将PDF打印功能构建到您的应用程序中。