我有一台通过 Windows XP 主机共享的联网打印机 (HP DeskJet 712C)。我可以从 Word、gVim 和 Notepad 等应用程序打印到打印机,但当我尝试直接通过print /D:"\\hostname\HP DeskJet 712C" file.txt
shell 打印到打印机时,它会响应the file file.txt is currently being printed
,但什么也不会发送到打印机。
我应该补充一点,虽然我主要从 Windows 7 主机进行打印,但它在 Windows 7(32 位和 64 位)和 Windows XP 主机上都会发生。
答案1
问题在于 DJ712C 是一款基于主机的打印机。它依靠操作系统和驱动程序将页面转换为纸上的点。它无法识别纯文本。这就是为什么当您使用驱动程序进行打印时,它工作正常,而当您向它发送文本时,它则无法正常工作。
解决该问题的一种方法是使用尿素合成酶。它从 DOS 应用程序获取文本并将其传递到驱动程序,以便打印机可以理解它。
答案2
不清楚您在哪里发出命令。是在命令 (DOS) 窗口内发出的吗?
如果是这样,请尝试在命令窗口中输入此命令:
NET USE LPT1:\服务器名称\打印机名称
在我的系统上,该命令从一个会话保留到其他会话,但您可能需要向其中添加 PERSISTENT=YES 标记。
有关更多详细信息,请在命令窗口中使用 NET USE /?。