C#中如何调用“USB虚拟打印机端口”来打印

潮起潮落 2013-11-29 04:31:34
在打印机属性中看到默认的数值是
端口名:USB001
描述:USB虚拟打印机端口
打印机:HP Officejet 100 Mobile L411

打印测试页面可以打印
点击“配置端口”弹出“配置端口时出现错误。这个操作不受支持。”
换到LPT或者COM端口则不能成功打印。

在程序中使用PrintDocument类调用默认打印机可以正常打印,但是因为场景特殊不能用这个类。
在网上找到了另外一段代码

SerialPort ports = new SerialPort();
ports.PortName = "USB001";//根据个人计算机设定串口名称
ports.BaudRate = 9600;
ports.Open();
byte[] byt = new byte[] { 0x00, 0x00, 0x0A, 0x0A };
ports.Write(byt, 0, byt.Length);//初始化打印机并且进入汉字打印模式
string str = "打印机测试";
ports.Encoding = System.Text.Encoding.GetEncoding("GB2312");// 将打印机的字符集设置为端口的字符集
ports.WriteLine(str);

这里是通过串口打印的,把PortName改成USB001是不行的。
现在想请教一下,在目前情况下(USB连接),怎么能做到像代码中预想的那样,传输汉字打印指令,然后直接ports.WriteLine进行打印?
...全文
1187 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
潮起潮落 2014-03-07
引用 4 楼 yy2010_2 的回复:
lz, 这个问题有解决吗?我也遇到这个问题。
最终调用第三方应用。。PrinterShare
回复
yy2010_2 2014-02-11
lz, 这个问题有解决吗?我也遇到这个问题。
回复
潮起潮落 2013-12-03
引用 2 楼 guo_pc31 的回复:
建议打惠普的技术支持电话问一问支持的打印指令是什么
只能这样了。。。
回复
guo_pc31 2013-12-03
建议打惠普的技术支持电话问一问支持的打印指令是什么
回复
潮起潮落 2013-12-02
= =。。。 这问题有点偏吗
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2013-11-29 04:31
社区公告

让您成为最强悍的C#开发者