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