[英]PDF is not printing from Windows XP, but works on Windows 7
以下代码在Windows 7上成功打印,但在Windows XP上不起作用。 两台计算机都有默认的打印机设置,如果我进入记事本并手动打印文档,则该打印机设置可以正常工作。 在Windows XP盒子上,它只是坐在那里,没有错误,没有任何错误。
我该如何调试它以获取错误消息或其他方法来弄清楚为什么不打印?
try
{
if (File.Exists(pdfPath))
{
Process process = new Process();
process.StartInfo.FileName = pdfPath;
process.StartInfo.Verb = "print";
process.StartInfo.CreateNoWindow = true;
process.Start();
process.WaitForInputIdle();
process.Kill();
}
else
{
MessageBox.Show("The file \"" + pdfPath + "\" does not exist", "File not found", MessageBoxButtons.OK, MessageBoxIcon.Error);
statusLabel.Text = "";
return;
}
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Unable to print packing slip", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
我想您在两个系统中对pdf打印的设置都不同。
在winXP和win7中检查.pdf文件类型..的“打印”动词。 您得到相同的结果吗?
为了进行检查和比较,您可以使用此软件: nirsoft-file_types_manager
也许您会收到这样的链接:
print
"C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\Foxit Reader.exe" /p "%1"
作为解决方案,我建议执行以下步骤:
在系统中检查PDF的“打印”动词。 如果缺少此动词,请重新安装PDF软件。
如果您得到的命令不同,请尝试在两个系统中使用相同的软件。 使用nirsoft的软件,您可以尝试编辑XP命令以对其进行修复(如果您“错误地”卸载了PDF的已安装软件,则可能在系统中。如果您知道带有参数的路径,则可以尝试编辑此命令
如果正确安装了用于打开(和打印)PDF文件的软件,请尝试使用“打开”动词。 如果该方法不能打印,请尝试重新安装PDF软件。
如果所有这些步骤均无济于事,则命令相同并且打开文件可以正常工作,那么您可以尝试使用命令直接打印PDF,以检查命令是否正常工作。
如果不起作用,请重新安装PDF软件。 如果它通过命令行运行,但不能通过您的软件运行,那么我不知道如何为您提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.