自动打印 PDF

Cob*_*bus 0 c# pdf web-services winforms

我有一个 Web 服务,它有一个水晶报告,它从我的数据库生成发票,然后将水晶导出到PDF, 到流中,然后在 Web 方法上作为字符串返回。

在客户端,我有一个C#调用此 Web 服务的 Winforms 应用程序。我希望能够PDF在客户端自动打印,而无需打开 Acrobat Reader。

我最好不想保存其中PDF任何一个,因为目前我必须保存PDF然后使用一个过程来打开 Acrobat Reader,然后打印PDF.

t3b*_*b4n 5

有一个名为 SumatraPDF 的免费实用程序,可让您以静默方式打印 PDF 文档。我已经在winform应用程序中成功使用了它。

private void print(string printerName, string fileName)
        {
            try
            {
                System.Diagnostics.Process proc = new System.Diagnostics.Process();
                proc.StartInfo.FileName = "SumatraPDF.exe";
                proc.StartInfo.Arguments = "-print-to " + '"' + printerName+ '"' + " " + '"' + fileName+ '"';
                proc.StartInfo.RedirectStandardError = false;
                proc.StartInfo.RedirectStandardOutput = false;
                proc.StartInfo.UseShellExecute = true;
                proc.Start();
                proc.WaitForExit();
            }
            catch (Exception ex)
            {
                EventLog.WriteEntry("InboundServicioImpresion", ex.Message + " " + ex.StackTrace);
            }
        }
Run Code Online (Sandbox Code Playgroud)

对于“自动打印”,您可以使用计时器或无限循环来执行上述方法。