2012-12-10 45 views
0

據我所知,還有的是,作爲一臺打印機工作的傳真調制解調器,窗戶,我也可以使用在Windows標準打印機完成打印到傳真目的地。真的嗎?如果是這樣,最好使用什麼傳真調制解調器?打印到傳真無需用戶交互或彈出窗口

我看到有在Windows 7傳真設備稱爲Microsoft共享傳真驅動程序。是否可以打印到純粹的代碼,沒有用戶交互或彈出窗口,以實現打印到傳真?

這是我對工作,可以直接生成報表打印機的應用程序。但我們正在與一位希望報告直接傳真的客戶交談。我們的應用程序是一個報告庫,因此沒有用戶交互,但例如可以配置設置傳真號碼。我們在Java端使用J2D + JPS,在.NET端使用System.Drawing.Printing。我知道客戶可以通過第三方庫實現這一點,但我想解決簡單地使用我們現有的直接打印機功能的可能性。

回答

1

您可以使用內置的Fax Service Extended COM API以編程方式發送傳真,而無需任何用戶交互。

該API允許您檢查機器上是否安裝了任何傳真設備(通過FaxService.FaxDevices系列),並通過Body屬性將文件附加到FaxDocument

一個警告:在Body屬性實際上是包含路徑,應作爲傳真發送的文件中的字符串。從文檔:身體必須與安裝在該計算機上的應用程序關聯,並且應用程序必須支持PrintTo動詞。這意味着您不能直接從內存中的對象傳真報告;你必須產生在一些位置一些臨時打印的文件(圖像,PDF,或XPS)的報告,它的路徑設置爲FaxDocumentBody財產。

+0

謝謝,Zev,這是寫傳真發送應用程序的有用信息。關於打印到傳真調制解調器,您有什麼要說的嗎?還是傳真的虛擬打印機設備? – Tomas

+0

我假設特定打印機的詳細信息(在傳真打印機的情況下 - 目標電話號碼,主題,封面頁)不能從System.Drawing.Printer獲得。出現的用戶界面是在文檔被傳送到傳真打印機打印之後,此時.NET打印API已完成。 –

+0

爲了您的需要,**在不涉及用戶的情況下發送傳真**,並試圖在不涉及用戶的情況下**打印到安裝的傳真打印機**之間有區別嗎? –