微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

直接打印到USB打印机,绕过Windows假脱机程序

我正在试验一台Zebra TTP8200热敏打印机。 对于我的应用程序,我需要不断打印绘图仪types的迹线,直到用户点击一个停止button。 我已经玩了ZPL语言,我可以成功地生成位图数据,并通过输出ZPL作为原始数据一次将我的位图转储出一行(或几行)。

我正在使用一些微软的演示代码输出原始数据到打印机,这很好,一个问题吧:后台打印程序。 事实certificate,每次我使用MS rawprn.exe代码输出一些数据时,它实际上被假脱机为打印作业,然后传输到打印机。 这需要10秒才能通过假脱机程序,显然太慢了。 在驱动程序中禁用假脱机程序并没有帮助,这只是意味着程序在作业通过假脱机程序并打印完成时挂起。

有没有办法绕过假脱机程序,并直接输出数据到这台USB打印机? 到目前为止,我的研究还没有发现任何可能在Windows API中寻找的东西。 理想情况下,我想能够像使用串行打印机一样使用打印机 – 打开端口并input数据。

提前非常感谢任何提示

Java Windows UTF-8(unicode)打印

检查打印机是否连接

Windows后台打印程序事件API不会生成networking打印机的事件

打印机后台监视器

有关3MF文件格式的信息(用于3D打印)

在屏幕菜单上打开文本variables

用户按下打印时运行脚本,而不是在脚本结束之前启动假脱机(linux,cups)

Windows – 将程序用作虚拟打印机?

如何将数据发送到现代打印机? PDF,PostScript,HPGL等

如何在C#中设置Windows认打印机?

如果USB打印机可用作COM端口,则只需写入COM端口即可。 像这样,从DOS提示符下:

dir > com1

前面的例子将把dir命令的结果输出到打印机。

或者,这是另一个例子:

copy file.txt com1

前面的例子将输出file.txt的内容到打印机。

输出格式正确的ZPL数据将比纯文本更难。 但是,我已经从Linux使用Ruby(和Epson / ESC命令)得到了这个工作。

有没有办法绕过假脱机程序,并直接输出数据到这台USB打印机?

是的,一点没错。 它被嵌入到大多数操作系统中,通过USB打印原始数据只是比以太网和COM / LPT少一些。 请注意,许多应用程序(例如记事本)无法打印原始文件,因此您的应用程序也需要支持功能

为您的USB打印机安装适当的驱动程序。 检查打印机属性以查看它使用的是哪个USB端口。 可能是USB001等

使用设备和打印机,添加另一台打印机。 本地端口,选择刚刚创建的端口(例如USB001)注意:某些版本的Windows有自动检测的复选框,如果有的话,取消选中。

制造商:通用,打印机:通用/纯文本

使用当前安装的驱动程序

给打印机一个与已经创建的打印机名称不同的名称,即Zebra TTP8200 Raw。

不要分享

不要打印测试页,完成

现在使用原始打印应用程序,使用新创建的打印机。

PS这些指令也可以在这里作为Java开源原始打印教程的一部分。 该项目也为其他平台(Ubuntu,OS X)提供了教程。

http://qzindustries.com/TutorialRawWin

-Tres

您应该尝试下面的链接中概述的方法。 这使您可以将原始数据发送到打印机。

http://support.microsoft.com/kb/322091/en-us

感谢您的意见。

经过更多的挖掘,我发现这个有趣的文章使用由usbprint.sys提供的Windows打印机功能。 有一些黑客的示例代码似乎工作。 我想我会走这条路。

再次感谢您的建议。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐