打印pdf而不产生adobe reader?

时间:2013-07-16 20:06:20

标签: c# pdf printing itextsharp adobe-reader

目前,我正在使用以下c#代码行自动将pdf文件打印到移动打印机:

        string defFile = (Path.Combine(System.Windows.Forms.Application.StartupPath, tkt_no + "_DEF.pdf"));
        string rwPrinter = "";
        if (GlobalVars.useDefaultPrinter == false) 
        { 
            foreach (string strPrinter in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
            {
                if (strPrinter.StartsWith("ZDesigner"))
                {
                    rwPrinter = strPrinter;
                    break;
                }
            }
        }
        if (jobdo.Equals("print"))
        {
            Process process = new Process();
            process.StartInfo.FileName = defFile;
            if (rwPrinter.Length > 0)
            {
                process.StartInfo.Verb = "printto";
                process.StartInfo.Arguments = "\"" + rwPrinter + "\"";
            }
            else
            {
                process.StartInfo.Verb = "print";
            }
            process.Start();
            process.WaitForInputIdle();
            Thread.Sleep(10000);
            process.Kill();

如果应用程序位于工作站桌面上,以上这些行很好,但我遇到的问题是它实际从Citrix App快捷方式打印pdf文件时,它会生成Adobe Reader(pdf的默认值)并且不会打印作业完成后关闭。

所以我的问题是,有没有办法在不打开Adobe或类似的情况下打印pdf文档?也许在我在同一个应用程序中使用的iTextSharp库中填充字段?

0 个答案:

没有答案