web-dev-qa-db-ja.com

DosBoxで印刷するにはどうすればよいですか?

私は印刷サポート付きのdosboxのバージョンを探しています。この質問への回答を見ました Dosboxでプリンターを使用 が、それを機能させることができませんでした

6
Sam

http://ykhwong.x-y.net/ から、DOSBoxの正しく設定されたSVN-Daumバージョンで印刷を使用できるはずです。

実際のLPTドットマトリックスプリンターではなくUSB(印刷ダイアログを使用)に印刷する場合を想定して、Windows 8.1から印刷するための正しい構成ファイルの関連部分を次に示します。

#     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は、DOSBoxの「今すぐ印刷」ホットキーを押すまで、Windowsで「スプーリング」状態のままになることを意味します(== --- ==)CTRL+F2。この問題は、十分なタイムアウトを使用して修正できます。このタイムアウトは、プログラムから印刷される各ページ間にあるミリ秒数を超えるために必要です。私は10000ms(10秒)に設定しています。

ちなみに、Windowsの[印刷]ダイアログボックスを使用して、SVN-DAUM DOSBoxにプリンターを1回設定します。すると、それがデフォルトのプリンターになり、印刷ダイアログで再びプロンプトが表示されることはありません。 DOSBoxを再起動すると、デフォルトのプリンターがリセットされます(Ctrl-Alt-Home)。

5
Derek R. Austin

DOSBox Megabuild 6をお試しください

ローカルプリンターに印刷するには、DOSBox.confで次の設定を試してください。

 parallel1 = reallpt 
 parallel2 = disabled 
 parallel3 = disabled 

私のWindows 7 Ultimate x64で動作します

2
Vladimir

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はファイルをプリンタに送信します。

私はそれがWindows XPのLPT1への印刷と同様に機能することを見つけます。 (私はそれが行くのを見て申し訳ありません)。

0
Robert Powers