[英]how to print file to a specific Printer
我用 C# 開發了一個 Windows 服務。 現在我正在尋找一種方法,它可以將特定文件(可以是 TIFF、PDF、HTML、MHT 或文本)打印到特定打印機。 問題是,當我使用 Process 並作為動詞打印時,如何設置特定的打印機? 在 Windows 服務中是否也可以使用進程? - 它不應該顯示一個窗口。
在我看來,這種提議的方法很可能會失敗。 使用 shell 動詞來打印將調用關聯的應用程序來執行打印。 對於這些文件類型中的許多,這將導致顯示 UI,這將在服務中失敗。
您提到的所有文件類型都可以直接從您的服務中打印,而無需求助於其他應用程序。 它需要更多的編碼,但我相信它是最可行的服務解決方案。
或者,您可以通過在交互式桌面上運行的標准應用程序執行此操作。 這應該可以正常工作,我認為您將控制運行此代碼的機器的硬件和軟件配置。 否則,使用 shell 動詞將是一種非常脆弱和脆弱的方法——誰知道隨機客戶的機器上有什么文件關聯?!
“Printto”動詞需要打印機名稱的參數。 有關更多詳細信息,請參閱MSDN 中的此示例。
通過服務處理打印的方式是安全的。 如果您在 Windows 帳戶下運行,則該服務可以在沒有 UI 的情況下進行打印。 我在服務器上有一個打印服務,它有一個專用的用戶帳戶,每天打印 1000 個文件。 80 多種不同的聯網打印機。
您的服務必須具備以下條件:
請注意,在打印 PDF 的情況下,在無人看管的情況下打印 PDF 違反了 Adobe EULA。 假設 .pdf 擴展名與 Adobe PDF Reader(或本場景中的打印機...)相關聯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.