从 DosBox 打印

从 DosBox 打印

我在为我的企业运行一些旧版软件,这些软件在 dBase 5 上运行,多年来,dBase 5 经过了大量时间投入而不断更新;它很好地管理了我们的财务、订购等。为了能够将我的企业切换到 Ubuntu(我想这样做),我必须能够运行这些程序,特别是打印数据。我曾尝试在 DosEmu 中打印,但这会锁定程序,我尝试过 DosBox,它似乎更稳定,运行良好,但无法打印。因此,我尝试在 DosBox 中打印到文件,并使用以下方法手动打印:

lp -d HP-LaserJet-m2727-MFP /home/paul/dosdrive/*.prn

打印效果很好,但我必须离开程序并关闭 DosBox,文件才会显示在 Ubuntu 中,然后我才能打印它;这对于商务软件包来说并不理想。我找到了一个 DosBox SVN Daum,我曾在 XP 机器上试用过,它很稳定,打印效果也很好,但这只适用于 Windows。这个程序的源代码是可用的,但编译它远远超出了我的专业知识。有什么办法可以解决这一切吗?

答案1

爱好者网站有一个专门dosbox针对基于 Linux 的系统构建的版本;32 位版本仍然可用,但如果您需要,还有更旧的 64 位版本。您不需要编译它(虽然我可能会编译官方的 dosbox-0.74 源代码并仅集成打印机补丁:请参阅有关 SVN 构建的更多信息,请访问此处编译 dosbox)。

不过,如果你不想编译,你可以使用这些构建那个网站:我已经检查过了,没有问题,,就像我们通常对其他事物(如 PPA)所说的那样,使用风险自负。32 位版本确实包含 Windows 版本中的“几乎”所有补丁。下载包括一个dosbox可执行文件、一个dosbox_debug可执行文件和一个dosbox conf

dosbox配置文件包含打印支持:

    [printer]
#     printer: Enable printer emulation.
#         dpi: Resolution of printer (default 360).
#       width: Width of paper in 1/10 inch (default 85 = 8.5'').
#      height: Height of paper in 1/10 inch (default 110 = 11.0'').
# printoutput: Output method for finished pages: 
#                png     : Creates PNG images (default)
#                ps      : Creates Postscript
#                bmp     : Creates BMP images (very huge files, not recommend)
#              
#   multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is pressed.
#     docpath: The path where the output files are stored.
#     timeout: (in milliseconds) if nonzero: the time the page will
#              be ejected automatically after when no more data
#              arrives at the printer.

printer=true
dpi=360
width=85
height=110
printoutput=png
multipage=false
docpath=.
timeout=0

然而,在运行它之前,您必须安装一些重要的依赖项(您可能sdl已经有了):

sudo apt-get install libphysfs1 libpng12-0 libsdl1.2debian libsdl-sound1.2 libsdl-net1.2

因此,为了确保你不会将常规方法dosbox与此方法混淆,请将此替代方案dosbox及其配置文件保存在主文件夹中的文件夹中,然后打开终端并运行它,例如,

/home/mike/DOS/dosbox -conf dosbox.conf

相关内容