我正在编写一个应用程序,它执行一些测试并生成许多不同的报告.这些可以是标签,最终客户的PDF,维修部门的PDF,XML文件等的任意组合.
根据报告类型,我需要将文件发送到文件系统或许多不同的打印机之一(A4,标签等).理想情况下,应该没有弹出窗口 - 只是直接用纸.
如何将文件(PDF,XML)发送到打印机?我曾经想过,对于XML/Text,我可以将File.Copy转换为LPTn,但这似乎不起作用.对于PDF我猜我可以用一些导致PDF打印的参数调用Acrobat.
我使用的打印机映射到LPTn.有没有更好的方法来执行此操作并将定义存储在应用程序中?即标签转到MyLabelPrinter,A4 PDF转到MyA4Printer.
有没有人这样做过?
ProcessStartInfo info = new ProcessStartInfo("[path to your file]");
info.Verb = "PrintTo";
info.Arguments = "\"[printer name]\"";
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(info);
Run Code Online (Sandbox Code Playgroud)