我正在尝试使用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需要首先打开。
任何人对如何解决这个问题都有任何想法?
答案 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,那是为了帮助。
诺尔。