我有一个使用多年的程序,它根据文本文件中的控制语句来管理文本文件的打印。
例如,它将在每页的顶部打印标题、更改每英寸的行数、更改每英寸的字符数、设置边距、从纵向更改为横向等。它通过将控制字符串直接写入打印机并将打印机寻址为 LPT1、LPT2 或 LPT3 来实现这些功能。
现在我需要用它来寻址连接到 USB 端口的打印机,但我不知道如何寻址。
打印机属性告诉我打印机已连接到端口“DOT4_001”,但当我尝试写入该端口时,它只会在当前目录中创建一个同名文件,而不会写入打印机。同样,我无法弄清楚如何从 DOS 窗口使用简单命令“type file.txt >xxxx”写入该打印机,尽管将“LPT1:”替换为“xxxx”可以适用于连接到并行端口的打印机。
所以我的问题是“如何直接寻址连接到 USB 端口的打印机?”
答案1
如果您的 USB 打印机与您的程序发送的代码兼容(例如 PCL),那么您可以执行以下操作:
- 共享您的打印机(并给它一个简单的名字,例如 MYPRINTER)
- 打开命令提示符
NET CONFIG WORKSTATION
在顶部输入并记下您的“计算机名称”。(例如 \MYCOMP)- 类型
NET USE LPT1 \\MYCOMP\MYPRINTER /PERSISTENT:YES
- 类型
exit
现在您可以打印到 LPT1,Windows 会将输出重定向到您的 USB 打印机。
答案2
我注意到 OP 想要打印文本文件。许多仅支持 USB 的打印机都是所谓的 GDI 打印机,它们依靠 Windows 图形引擎将页面转换为纸上的点。这些打印机不理解文本 - 或者说 PCL。因此,Rik 的解决方案不适用于这些打印机。我们需要打印机型号来确定。
然而,还有另一种选择。尿素合成酶旨在从程序中获取文本或 PCL 输出,并将其转换为打印机可以理解的内容。它运行良好,并且可以免费下载。