2012-07-27 69 views
1

我在從Windows服務打印PDF文件時遇到問題。在Windows 7機器上從Windows服務打印PDF

Windows服務具有以下元代碼:

  • System.Process過程=新工藝();
  • 指定文件路徑
  • 分配動詞= 「打印」
  • CreateNoWindow設置爲true
  • WindowStyle設置爲隱藏
  • 的Process.Start()

我建立的Windows服務並作爲用戶帳戶安裝在Windows XP上,並且工作正常。 但是當我在Windows 7 Enterprise上安裝相同的東西時,它不再打印(雖然它安裝正確)

有沒有人知道問題是什麼?

回答

0

在Windows 7上,可能會有其他策略設置阻止服務打開後臺進程。通常,我建議您查看Aspose.PDF,PDFTron或FoxIt SDK以從服務打印。

+0

另一個想法...在WinXP打印機之間的用戶共享。我隱約想起在Windows 7中可能不是這種情況。 – Darek 2012-07-28 04:25:34

0

在Windows XP上,您的服務運行在「常規」,啓用登錄的會話0中,但在Windows 7 Session 0 is Isolated上,並且使用shell進行打印可能無法按預期那樣運行。

什麼應用程序正在打印您的PDF?你能直接調用它,傳遞文件在命令行上打印嗎?

+0

該過程直接調用該PDF的「默認」軟件並給出「打印」命令。 例如:如果'Foxit'Reader是PDF的默認軟件,那麼將調用該軟件並給出打印命令。 – 2012-07-28 13:19:50

+0

其實沒有。您的進程調用Windows shell,然後按照您的描述調用默認軟件。但是,使用會話0隔離時,會話0中沒有資源管理器,調用該shell的調用可能會產生意外的結果。我建議你嘗試在你的Process對象中直接調用Foxit,如下所示:「」/ p CoreTech 2012-07-29 16:56:38