繁体   English   中英

无法从Windows XP打印PDF,但可在Windows 7上使用

[英]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"

作为解决方案,我建议执行以下步骤:

  1. 在系统中检查PDF的“打印”动词。 如果缺少此动词,请重新安装PDF软件。

  2. 如果您得到的命令不同,请尝试在两个系统中使用相同的软件。 使用nirsoft的软件,您可以尝试编辑XP命令以对其进行修复(如果您“错误地”卸载了PDF的已安装软件,则可能在系统中。如果您知道带有参数的路径,则可以尝试编辑此命令

  3. 如果正确安装了用于打开(和打印)PDF文件的软件,请尝试使用“打开”动词。 如果该方法不能打印,请尝试重新安装PDF软件。

如果所有这些步骤均无济于事,则命令相同并且打开文件可以正常工作,那么您可以尝试使用命令直接打印PDF,以检查命令是否正常工作。

  1. 在winXP中,将%1替换为文件名,然后在“运行”窗口中运行此命令(以快捷方式WIN + R开头) 警告:如果可以,将打印您的文件

如果不起作用,请重新安装PDF软件。 如果它通过命令行运行,但不能通过您的软件运行,那么我不知道如何为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM