C# 将pdf文件发送到打印机-打印pdf

C# 将pdf文件发送到打印机-打印pdf,c#,pdf,printing,C#,Pdf,Printing,我正在用VisualStudio2010(C#)编写一个web应用程序。我想在单击按钮时将PDF(保存在我的计算机中)发送到打印机 为了创建PDF,我使用了iTextSharp。我尝试了这个,但它只是打开了Adobe Reader: proc.StartInfo.FileName = @"C:\Archivos de programa\Adobe\Reader10.0\Reader\AcroRd32.exe"; proc.StartIn

我正在用VisualStudio2010(C#)编写一个web应用程序。我想在单击按钮时将PDF(保存在我的计算机中)发送到打印机

为了创建PDF,我使用了iTextSharp。我尝试了这个,但它只是打开了Adobe Reader:

               proc.StartInfo.FileName = @"C:\Archivos de programa\Adobe\Reader10.0\Reader\AcroRd32.exe";
               proc.StartInfo.Arguments = String.Format(@"/p /h {0}", pdfFileName);
               proc.StartInfo.UseShellExecute = false;
               proc.StartInfo.CreateNoWindow = true;

               proc.Start();

提前谢谢你

这一点已经在这里得到了提问和回答:

使用的代码是:

private void SendToPrinter()
    {
        ProcessStartInfo info = new ProcessStartInfo();
        info.Verb = "print";
        info.FileName = @"c:\output.pdf";
        info.CreateNoWindow = true;
        info.WindowStyle = ProcessWindowStyle.Hidden;

        Process p = new Process();
        p.StartInfo = info;
        p.Start();

        p.WaitForInputIdle();
        System.Threading.Thread.Sleep(3000);
        if (false == p.CloseMainWindow())
            p.Kill();
    }

它基本上会打开一个“隐藏”的pdf阅读器,告诉它打印,等待它完成,然后关闭它

非常感谢!这真的对我有用!很抱歉,我之前无法回答您…@Alsan:没问题:)很高兴这是一个很好的解决方案,但如果我想使用手动打印机设置打印文档,该怎么办?WaitForInputdle()无效。启动()后,p似乎处于空闲模式。只有睡眠3秒钟,Adobe才能完成后台处理。这可能是大型文档的问题。它在Windows 8上不再工作+