首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式打印各种文件类型

如何以编程方式打印各种文件类型
EN

Stack Overflow用户
提问于 2012-08-20 22:28:29
回答 2查看 5.5K关注 0票数 4

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

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

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

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

有人这么做过吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-20 22:34:37

代码语言:javascript
运行
复制
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);
票数 9
EN

Stack Overflow用户

发布于 2012-08-20 22:36:11

看看这个webpage。您应该可以找到您正在查找的PDF信息。例如,它将如下所示:

代码语言:javascript
运行
复制
    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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12039551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档