Вы можете попробовать эту бесплатную программу. Это полезно.
http://home.swipnet.se/~w-62144/prfile/descr.htm
Чтобы вызвать диалоговое окно принтера для некоторого текста, сделайте что-то вроде этого
set fd [open "|PrFile32.exe /-"]
set str "This is my long peice of text I want to write out to..."
puts $fd $str
flush $fd
Если вы не можете использовать исполняемый файл, используйте printui.dll.
Вам нужно будет перечислить принтеры на аппарате, а затем передать строку принтера, который вы хотите использовать
Далее будет показано диалоговое окно настроек печати для определенного принтера
rundll32.exe printui.dll,PrintUIEntry /e /u /n "Adobe PDF"
Вы можете позвонить
notepad.exe /p filename.txt
Я думаю, что бесплатный путь намного проще, так как вам не нужно обнаруживать принтер по умолчанию, спрашивать пользователя и печатать файл нестандартным способом.
РЕДАКТИРОВАТЬ Я забыл добавить часть rundll32.exe, чтобы открыть настройки принтера