【问题标题】:How to print various file types programmatically如何以编程方式打印各种文件类型
【发布时间】:2012-08-15 21:28:38
【问题描述】:

我正在编写一个应用程序,它执行一些测试并生成许多不同的报告。这些可以是标签的任意组合、最终客户的 PDF、维修部门的 PDF、XML 文件等。

根据报告类型,我需要将文件发送到文件系统或多种不同打印机(A4、标签等)中的一种。理想情况下不应该有弹出窗口 - 直接出现在纸上。

如何将文件(PDF、XML)发送到打印机?我曾认为对于 XML/Text 我可以将 File.Copy 复制到 LPTn 但这似乎不起作用。对于 PDF,我猜我可以使用一些导致 PDF 打印的参数调用 Acrobat。

我使用的打印机映射到 LPTn。有没有更好的方法来做到这一点并将定义存储在应用程序中?即标签转到 MyLabelPrinter,A4 PDF 转到 MyA4Printer。

有人做过吗?

【问题讨论】:

    标签: c# pdf printing


    【解决方案1】:
    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);
    

    【讨论】:

      【解决方案2】:

      看看这个webpage。您应该找到您正在查看的 PDF 信息。 例如,它看起来像这样:

          ProcessStartInfo infoOnProcess = new ProcessStartInfo("C:/example.pdf");
          info.Verb = "PrintTo";
          //Put a if there, if you want to change printer depending to file extension
          info.Arguments = "\"HP-example-Printer\"";
          info.CreateNoWindow = true;
          info.WindowStyle = ProcessWindowStyle.Hidden;
          Process.Start(infoOnProcess);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-28
        • 1970-01-01
        • 1970-01-01
        • 2011-02-22
        • 1970-01-01
        相关资源
        最近更新 更多