Word.Interop Печать в файл pcl. - PullRequest
       0

Word.Interop Печать в файл pcl.

0 голосов
/ 06 сентября 2011

Я работаю над приложением, которое автоматически генерирует факсы. Система использует взаимодействие слов, чтобы заполнить файл шаблона .doc значениями (что работает нормально), но когда приходит время печатать полученный файл в pcl, у меня возникают проблемы.

Итак, у нас есть принтер HP Laserjet, который печатает файлы .pcl.

Dim appWord As New Word.Application
Dim doc As New Word.Document 
appWord.ActivePrinter = PCL_PRINTER
doc = appWord.Documents.Open(APPLICATION_DIR & "LTL_" & n.Language & ".doc")

... (заполните файл значениями)

outFile = APPLICATION_DIR & "Faxout\DROPDIR\" & n.Order & ".pcl"
doc.PrintOut(True, True, , outFile, , , , , , , True)
'cleanup...

Проблема в том, что когда запускается строка doc.PrintOut, слово жалуется, выскакивая сообщение: The file 1472136.pcl is not available.

Я пробовал всевозможные комбинации вещей, но сообщение об ошибке сохраняется. Очень редко эта штука на самом деле работает и генерирует пригодный для использования файл pcl, но в 98% случаев появляется сообщение об ошибке, и весь процесс останавливается.

У нас есть другие приложения на том же сервере, которые делают почти то же самое, за исключением того, что они печатают из Excel вместо слова, и они работают без выдачи ошибки.

Может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2011

Я только что понял это.Очевидно, вам нужно создать файл перед попыткой записи в него.

Например:

Dim fs As FileStream
fs = System.IO.File.Create(outFile)
fs.Close()
fs = Nothing
doc.PrintOut(True, True, , outFile, , , , , , , True)

Я пытался создать файл ранее, но не понял, что Create вернул aФайловый поток, который необходимо закрыть, прежде чем слово будет распечатано.

Есть ли способ создать файл в vb.net, который не создает блокировку для файла с объектом filestream?Эта версия работает, но было бы неплохо немного очистить код.

0 голосов
/ 06 сентября 2011

Не знаю, помогает ли это, но у вас есть антивирусное программное обеспечение на этом компьютере?Если это так, вы пытались отключить его?Иногда возникают проблемы с доступом антивирусных сканеров к файлам в фоновом режиме, блокированием доступа или удалением временных файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...