簡體   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