如何使用 DosBox 打印?

如何使用 DosBox 打印?

我正在寻找支持打印的 dosbox 版本 我看到了这个问题的答案在 Dosbox 中使用打印机但我没能成功

答案1

您应该能够使用正确配置的 SVN-Daum 版本的 DOSBox 进行打印http://ykhwong.xy.net/

这是从 Windows 8.1 打印的正确配置文件的相关部分,假设您想要打印到 USB(使用打印对话框)而不是实际的 LPT 点阵打印机。

#     Print from DOSBox using Windows print dialog
#     dosbox-SVN-Daum.conf
#     C:\Program Files (x86)\DOSBox SVN-Daum\TOOLS\Run DOSBox configuration.bat

[printer]
#     printer: Enable printer emulation.
# printoutput: Output method for finished pages: 
#                png     : Creates PNG images (default)
#                ps      : Creates Postscript
#                bmp     : Creates BMP images (very huge files, not recommend)
#                printer : Send to an actual printer (Print dialog will appear)
#   multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is     pressed.
#     timeout: (in milliseconds) if nonzero: the time the page will
#              be ejected automatically after when no more data
#              arrives at the printer.
printer=true
printoutput=printer
multipage=true
timeout=10000

[parallel]
# parallel1: parallel1-3 -- set type of device connected to lpt port.
#            Can be:
#               reallpt (direct parallel port passthrough),
#               file (records data to a file or passes it to a device),
#               printer (virtual dot-matrix printer, see [printer] section)
parallel1=printer

现在,您可以使用 Windows 打印对话框进行打印。我个人从 DOS 打印到PrimoPDF然后在看到输出的 PDF 后进行打印。

让我感到困惑的是,这multipage=true意味着你将卡在 Windows 中的“后台打印”状态,直到你按下 DOSBox 的“立即打印”热键CTRL+F2。您可以使用足够的超时来解决此问题。您需要此超时来超过程序打印每页之间的毫秒数。我的超时设置为 10000 毫秒(10 秒)。

顺便说一句,您使用 Windows 打印对话框在 SVN-DAUM DOSBox 上设置打印机一次。然后它就是默认打印机,打印对话框不会再提示您。当您重新启动 DOSBox 时,默认打印机会重置(Ctrl-Alt-Home)。

答案2

尝试使用 DOSBox Megabuild 6

要打印到本地打印机,请尝试在 DOSBox.conf 中执行这些设置

并行1=reallpt
parallel2=禁用
parallel3=禁用

它适用于我的 Windows 7 Ultimate x64

答案3

使用 Windows 程序打印文件

启动时运行程序

"C:\Program Files (x86)\PrintFile\prfile32.exe" /s C:\SPOOL\

这将导致程序Printfile驻留并监视目录C:\SPOOL(您需要创建此目录),并且写入此目录的任何文件都将被发送到打印机。

注意:文件打印后将被删除。

然后,在您的 DOS 程序中,writeln(lst, ) 用写入文件C:\SPOOL\TRASH.PCLTRASH.TXT (文件的名称并不重要 - 我称之为“垃圾”)替换任何打印或语句,并在关闭文件后将Printfile文件发送到打印机。

我发现它和在 Windows XP 中打印到 LPT1 一样好用。(我很遗憾看到它消失)。

答案4

echo Hello world! ^L > LPT1

(这不是CtrlL^插入符号)而是L

这样应该会打印Hello world!并将页面吐出到连接到 LPT1 的打印机上。至于打印到 USB 打印机……忘掉它吧。对于使用 Windows 网络共享的联网打印机,您可以将打印机“捕获”到端口 (LPT1-3) 并遵循相同/相似的语法。

Dosbox默认版本不包含任何对并行端口的支持。有第三方版本添加了这些功能。其中一个版本可在此处找到:http://home.arcor.de/hal-9000/

相关内容