使用c#将PDF发送到热敏打印机(Zebra)

时间:2014-06-12 16:56:39

标签: c# thermal-printer

我正在尝试使用c#将PDF发送到热敏打印机。我在这里查看了RawPrinterHelper类http://support.microsoft.com/kb/322091,但是SendFileToPrinter没有打印文件。

没有错误,文件似乎是从打印队列打印但没有任何反应。

打印机工作正常,因为我可以在其上打印其他项目。

有谁知道如何发送PDF进行打印,或者我如何使用SendFileToPrinter为我工作。

我正在使用Windows 7。

以下是我用来调用SendFileToPrinter方法的代码示例。

try
        {
            RawPrinterHelper.SendFileToPrinter(PrinterName,@"C:\test.pdf");

        }
        catch (Exception ex)
        {
            Console.WriteLine(" EXCEPTION: {0}", ex.Message);
        }

更新: 好吧,也许我说得太早了。我能够将PDF打印到热敏打印机,但现在的问题是打印需要几秒钟,我正在寻找快速的#34;它缓慢的原因是Adobe需要首先打开。

任何人对如何解决这个问题都有任何想法?

1 个答案:

答案 0 :(得分:2)

好的,实际上已将其排序。

我能够做到以下几点并且完美无缺。

string tempFile = @"C:\test.pdf";
            try
            {
                ProcessStartInfo gsProcessInfo;
                Process gsProcess;
                string printerName = PrinterName; 

                gsProcessInfo = new ProcessStartInfo();
                gsProcessInfo.Verb = "PrintTo";
                gsProcessInfo.WindowStyle = ProcessWindowStyle.Hidden;
                gsProcessInfo.FileName = tempFile;
                gsProcessInfo.Arguments = "\"" + printerName + "\"";
                gsProcess = Process.Start(gsProcessInfo);
                if (gsProcess.HasExited == false)
                {

                    gsProcess.Kill();
                }
                gsProcess.EnableRaisingEvents = true;

                gsProcess.Close();
            }
            catch (Exception)
            {
            }

@DavidCrowell,那是为了帮助。

诺尔。

相关问题