【问题标题】:Print PDF hidden from user打印对用户隐藏的 PDF
【发布时间】:2016-04-07 14:29:46
【问题描述】:

我有一个使用 C# 打印的 PDF,其中包含以下代码:

ProcessStartInfo info = new ProcessStartInfo();
info.Verb = "printto";
info.FileName = segnToPrint;
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
info.Arguments = "\""+ stmp+ "\"";
Process p = new Process();
p.StartInfo = info;
p.Start();
p.EnableRaisingEvents = true;
p.WaitForInputIdle();
System.Threading.Thread.Sleep(1000);

// Close Acrobat regardless of version
if (p != null)
{
    p.WaitForInputIdle();
    p.CloseMainWindow();
}

stmp 是打印机的地址。打印效果很好,很完美,但我在调用此函数的任何时候都会看到 Acrobat Reader 的窗口,并且 Acrobat Reader 的页面在最后一个文件打印后保持打开状态。

如何向用户隐藏所有进程?

【问题讨论】:

    标签: c# pdf printing


    【解决方案1】:

    如果您想隐藏某个窗口,那么您可以尝试使用SetWindowPos 函数将其窗口向左和顶部移动到屏幕外(参见C# 代码here)。

    但请注意用户交互,因为用户可能会被任务栏中运行但在桌面上不可用的程序弄糊涂。

    【讨论】:

      【解决方案2】:

      不幸的是(如您所见)acrobat reader 总是会打开一个窗口。如果您希望在没有看到 acrobat 的情况下静默打印,那么唯一的方法是使用 acrobat reader 以外的其他工具。两种可能的选择是使用另一个 PDF 阅读器,例如 FoxIt,或者尝试将您的 PDF 直接发送到 raw form 中的打印机,从而全面满足对第 3 方应用程序的需求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        相关资源
        最近更新 更多