如何将 LPT1 重定向至 PDF 打印机或 OneNote 打印机

如何将 LPT1 重定向至 PDF 打印机或 OneNote 打印机

有一个非常古老的 FoxPro DOS 程序,它通过 LPT1 打印文档,现在用户想要软拷贝。因此,我在本地计算机上共享了 PDF 打印机和 OneNote 打印机,并尝试将 LPT1 映射到它们,如下所示

PDF 打印机:

net use LPT1: \\{my machine name}\pdf

打印机“发送至 OneNote 2013”​​:

net use LPT1: \\{my machine name}\one

两个命令都已成功完成,我可以看到可以通过以下命令将任务添加到打印机队列中,但实际上没有打印任何内容

print /d:LPT1 result.txt
=> result.txt is currently being printed

注意:我也尝试了 LPT2、LPT3,但得到了相同的结果

答案1

如果计算机上存在物理打印机端口,则重定向 LPT1 有时会出现问题。如果是这种情况,您可以尝试以下操作:

  1. 在 BIOS 中禁用 LPT1(如果支持)
  2. 指示旧 DOS 程序使用 LPT2(如果它接受此类参数)并重定向 LPT2
  3. 使用古老的命令MODE LPT1:=LPT2:(可能太旧,无法在 Windows 7 中使用)并重定向 LPT2

您还可以尝试以管理员身份在命令提示符(cmd)中运行以下命令:

net use lpt1: /delete
net use lpt1: \\{my machine name}\{pdf-printer} /persistent:yes

如果以上方法都对您不起作用,下面有几个共享软件产品据称可以解决问题(从未尝试过): DOS打印机普林特菲尔

答案2

主要问题不是重定向。Windows 打印机驱动程序无法处理由 DOS 程序发送的带有嵌入式打印代码的 ASCII 数据流。DOS 打印机会将数据流渲染到纸张上。对于所有其他打印任务,您需要一个外部 DOS 到 Windows 打印处理器程序(更多,甚至是免费软件)。或者 vDos,尽管它主要用于在 Windows 64 位中运行 DOS 应用程序,就像现在大多数 Windows 10 发行版一样。

答案3

我今天遇到了同样的问题;我发现如果你使用不带引号的文件路径"",它会显示is currently being printed消息但实际上什么都没有打印。如果文件的目录中有空格,命令行需要将文件的所有路径放在引号内""

相关内容