Я ищу версию dosbox с поддержкой печати. Я видел ответы на этот вопрос. Использование принтера в Dosbox, но мне не удалось заставить его работать.
6 ответов
Вы должны иметь возможность использовать печать с правильно настроенной версией DOSBox SVN-Daum с 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 секунд).
Кстати, вы устанавливаете принтер на DOSBox SVN-DAUM один раз, используя диалоговое окно печати Windows. Тогда это принтер по умолчанию, и диалоговое окно печати вам больше не предложит. Принтер по умолчанию сбрасывается при перезапуске DOSBox (Ctrl-Alt-Home
).
Попробуйте использовать DOSBox Megabuild 6
Для печати на локальном принтере попробуйте эти настройки в DOSBox.conf
parallel1=reallpt parallel2=disabled parallel3=disabled
Это работает на моем Windows 7 Ultimate x64
Используйте программу Windows Printfile.
При запуске запустите программу
"C:\Program Files (x86)\PrintFile\prfile32.exe" /s C:\SPOOL\
Это приведет к тому, что программа Printfile
останется резидентной и будет следить за каталогом C:\SPOOL
(вам нужно создать этот каталог), и любой файл, записанный в этот каталог, будет отправлен на принтер.
Примечание: после того, как файл напечатан, он стирается.
Затем в ваших программах DOS замените все операторы print или writeln(lst, )
записью в файл C:\SPOOL\TRASH.PCL
или TRASH.TXT
(имя файла не важно - я называю мой "мусор"). ) и после закрытия файла Printfile
отправит файл на принтер.
Я считаю, что это работает так же, как печать на LPT1 в Windows XP. (Я сожалею, что вижу, что это пошло).
echo Hello world! ^L > LPT1
(это Ctrl L, а не ^
(каретка) и L
)
Это должно напечатать Hello world!
и выплюнуть страницу на принтер, подключенный к LPT1. Что касается печати на USB-принтерах ... забудьте об этом. Сетевые принтеры, использующие сетевые ресурсы Windows, позволяют "захватывать" принтер в порт (LPT1-3) и использовать тот же / аналогичный синтаксис.
По умолчанию сборка dosbox не поддерживает параллельные порты. Существуют сторонние сборки с этими функциями. Один из таких можно найти здесь: http://home.arcor.de/hal-9000/
На вики поддержки DOSBOX написано, что печать в настоящее время не поддерживается. Увидеть:
http://www.dosbox.com/wiki/Main_Page
Вы не говорите, какую операционную систему вы используете. Если вы используете Windows, вы можете использовать CMD.EXE, где предложение TheCompWiz будет работать. Это будет работать даже с USB-принтером (если он поддерживает печать текста, т.е. использует PCL в качестве языка), если он сопоставлен с LPT1. И, если вы используете DOSPRN, вы можете даже печатать на недорогих USB-струйных принтерах. ДОСПРН находится на
Это ответ, который работал для меня, адаптированный с https://superuser.com/a/528111/430723
- Загрузите Mega Build of DosBox по адресу http://home.arcor.de/hal-9000/megabuild.html.
- После установки нажмите "Изменить конфигурацию" в меню "Пуск" -> DosBox
- Выполните поиск "print" и измените путь к нужному каталогу на своем компьютере (не обязательно каталог, который вы монтируете в DosBox). Для меня я изменил его на (не уверен, имеет ли значение обратная косая черта против прямой косой черты, но это DOS, поэтому возможно):
c:\users\myname\desktop
- Далее прокрутили вниз, изменив параллель1, чтобы прочитать
net use LPT1: "\\yourprintserver\your printer name" /persistent:yes
(в имени моего принтера были пробелы, поэтому мне нужны были кавычки вокруг пути). - Запустите DosBox как обычно, и он должен работать.