Printing 如何将文本文件发送到打印机

Printing 如何将文本文件发送到打印机,printing,fingerprint,printers,intermec,Printing,Fingerprint,Printers,Intermec,正如我在一些指纹手册中读到的,我们可以将文本文件发送到打印机。这意味着我们可以在文本编辑器中编写程序,并使用通信程序和一些传输命令将整个程序作为文本文件发送到打印机。 因为在我的主机中,有一个名为myfile.txt的文件,位于D://中,其中包含空闲数据 10 PRPOS 200,200 20 DIR 3 30 ALIGN 5 40 PRIMAGE “GLOBE.1” 50 PRINTFEED RUN 如何将此文件发送到打印机并执行说明以打印图像。 请给我一些代码参考。有几种方法可以从命令行

正如我在一些指纹手册中读到的,我们可以将文本文件发送到打印机。这意味着我们可以在文本编辑器中编写程序,并使用通信程序和一些传输命令将整个程序作为文本文件发送到打印机。 因为在我的主机中,有一个名为myfile.txt的文件,位于D://中,其中包含空闲数据

10 PRPOS 200,200
20 DIR 3
30 ALIGN 5
40 PRIMAGE “GLOBE.1”
50 PRINTFEED
RUN
如何将此文件发送到打印机并执行说明以打印图像。
请给我一些代码参考。

有几种方法可以从命令行执行此操作。例如:

type foo.txt > lpt1:


如果需要以编程方式执行,可以使用system()函数或CreateProcess()执行这些命令中的任何一个。

如果您使用的是Intermec掌上电脑,并且连接到蓝牙打印机,那么您应该能够打开到COM6的串行端口并将文件发送过来。什么编程语言?应该有很多串行端口通信代码示例。

我使用Intermec PM4i标签打印机的经验是过山车,但我知道我有一个可用的应用程序

我通过generictext驱动程序尝试了Windows打印机管道。它确实可以在记事本上使用,但只有很少的角盒

直接从记事本打印效果很好,直到我尝试用很长的文本行打印QRCODE图像。图像没有打印出来。使qrcode文本短几个字符,相同的脚本工作正常

INPUT OFF
NASC 1252
BF OFF
FT "Swiss 721 Bold BT",12,0,100 
PP 50,500:PT "Text line goes here"
PP 400,400:AN 7:BARSET "QRCODE",1,1,7,2,4
PB "ABC123 aabbcc....very long text goes here...I mean about 200 chars or more"
PRINTFEED
这就像记事本将文本剪切到右侧边框,命令字符串被破坏。我制作了一个打印首选项A3横向图,它可以接受更长的文本,但仍然不足以满足所有用例

所有打印机都有物理最大打印宽度,但不应在指纹/directprotocol脚本文件中考虑。毕竟,我们不是按原样打印文本,而是向打印机提交命令

我的解决方案是创建Java应用程序,它打开一个原始TCP套接字到11.22.33.44:9100地址,并写入文本行,这些行以NL(#10)结尾。很好。我所做的另一个帮助工具是Delphi app.exe,用于从Windows打印机对象读取IP地址。我可以从Excel应用程序“直接”提交标签打印输出

  • 最终用户编辑Excel数据行并单击“打印标签”按钮
  • vba宏使用${FIELD1}查找和替换替代项解析指纹模板文件
  • 文件已写入%wintemp%/intermec_script.txt文件夹
  • 调用app.exe读取用户选择的打印机的IP地址
  • 调用java应用程序将intermec_script.txt提交到IP:PORT套接字
我应该在Delphi中创建相同的socket submit应用程序来删除javavm依赖项,但这个解决方案对于我的用例来说速度更快。我对Java的熟悉程度超过了我的Delphi技能水平。

这不是吗?
print foo.txt
notepad /p foo.txt
INPUT OFF
NASC 1252
BF OFF
FT "Swiss 721 Bold BT",12,0,100 
PP 50,500:PT "Text line goes here"
PP 400,400:AN 7:BARSET "QRCODE",1,1,7,2,4
PB "ABC123 aabbcc....very long text goes here...I mean about 200 chars or more"
PRINTFEED