Печать MS Word документа из командной строки
Обычно для пользователя при формировании различного рода документов в формате MS Word формировались файлы и просто открывались. Для этого вызывалась процедура host и передавалась строчка запуска. Например, фрагмент кода cmd := 'cmd /c start winword.exe "'||pi_fname||'"'; host(cmd); Однако возникла задачка массовой печати. Т.е. есть подготовленные файлы, и их надо, например, при нажатии на кнопку распечатать на принтере. Естественно, пользователь не должен открывать, печатать, закрывать каждый документ. В итоге вызов видоизменился до следующего cmd := 'cmd /c start /wait winword.exe "'||pi_fname||'" /q /n /mFilePrintDefault /mFileSave /mFileExit'; host(cmd); Что добавилось start /wait - дает нам возможность запустить приложение и ждать его завершения. В нашем случае мы должны в определенном порядке получать на принтере документы, т.е. они должны и попадать в очередь последовательно, а без ожидания маленькие документы могут встать в очередь быстрее…