我正在處理自動生成傳真的應用程序。 系統使用字互操作來填充模板.doc文件的值(它工作正常),但是當需要將結果文件打印到pcl時,我遇到了問題。Word.Interop打印到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線運行時,字抱怨,彈出一個消息:
我已經嘗試了各種各樣的組合,但錯誤消息仍然存在。偶爾,這個東西實際上起作用並生成一個可用的pcl文件,但98%的時間,錯誤信息彈出,整個過程停頓。
我們在同一臺服務器上有其他應用程序,它們幾乎完全相同,除了它們是從excel而不是word打印的,並且它們在不拋出錯誤的情況下工作。
任何人都可以幫忙嗎?
我只是想通了。顯然,在嘗試寫入文件之前,您必須先創建該文件。 我想早些時候創建文件,但沒有意識到,創建返回一個文件流,需要關閉之前,單詞將打印出來。 有什麼辦法可以在vb.net中創建一個文件,該文件不會在文件流對象上創建文件鎖定?這個版本可以工作,但它有助於清理代碼。 – tdoan
顯然,我不能「回答我自己的問題」7個小時,所以我明天將不得不發佈更完整的解決方案。 – tdoan