1

当我使用命令行在我的 Windows 10 机器上打印文件时,它会很快完成(40 秒)。

我使用这个命令行调用:

AcroRd32.exe /t document1.pdf

使用 C# 程序,打印同一文件最多需要8 分钟,即使我使用完全相同的参数调用 Adob​​e Reader。

var printProcess = Process.Start("AcroRd32.exe", "/T \"document1.pdf\"");

我还尝试了以下解决方法,不幸的是,这也导致了性能下降。

System.Diagnostics.Process.Start("CMD.exe", "/C AcroRd32.exe /t document1.pdf");

我最初认为这可能是 Adob​​e Reader 的问题,但使用 Foxit Reader 时会发生完全相同的事情。

这是一个已知的错误还是我做错了什么?是否有解决方法(以不同的方式调用它,以便它可能不是子进程)?

打印时间是指软件/驱动程序将文件发送到打印机所花费的时间。

非常感谢您的帮助!

4

1 回答 1

0

尝试使用进程优先级(PriorityClass属性):

using (Process process = new Process())
{
    process.StartInfo.FileName = "AcroRd32.exe";
    process.StartInfo.Arguments = "/T \"document1.pdf\"";
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardOutput = false;

    process.PriorityClass = ProcessPriorityClass.AboveNormal;

    process.Start();
}
于 2019-12-17T23:52:54.673 回答