2017-07-19 152 views
0

我想通過Adobe Reader打印使用ASP(C#)的PDF - 問題是它在我的本地機器上工作,但在服務器上無法工作。在我的本地啓動Adob eReader處於最小化狀態,並且我可以在打印機的「查看正在打印的內容」窗口中看到該文件。但在服務器上,我可以看到該進程已從任務管理器啓動,但沒有UI可見,也沒有打印機列表中的文件。使用Acrobat Reader從ASP.Net(c#)打印PDF

我雖然它可能是一個權限問題,但嘗試以下步驟後 - 它仍然無法正常工作。

我試過了。

  1. 由於默認情況下它運行在默認應用用戶 - 所以我創建的管理員用戶下一個新的應用程序池,現在開始在管理的過程中,但我仍然無法看到UI和打印機沒有輸出。

  2. 我在本文https://support.microsoft.com/en-us/help/555134之後向IIS管理服務添加了「允許服務與桌面交互」的權限 - 但沒有區別。

我當前的代碼

string args = string.Format("/s /o /h /t \"{0}\" \"{1}\"", filepath, printerName); 

var startInfo = new ProcessStartInfo { 
    FileName = Properties.Settings.Default.AdobeReaderPath, 
    Arguments = args, 
    CreateNoWindow = true, 
    ErrorDialog = false, 
    UseShellExecute = false, 
    Verb = "print", 
    WindowStyle = ProcessWindowStyle.Minimized, 
    RedirectStandardInput = true, 
    RedirectStandardOutput = true 
}; 

var process = Process.Start(startInfo); 
+0

你真的不想那麼做。這不僅違反了許可協議,而且Adobe Reader也沒有設計成可以作爲服務運行。他們不會在這種環境下測試安全缺陷。 – joelgeraci

回答

0

在應用程序池高級設置,請確保您的服務器上的選項 「加載用戶配置」設置爲

+0

謝謝。它被設置爲FALSE,因此我將它設置爲TRUE,但仍然沒有區別 - 仍然在沒有UI和不打印的背景下運行。 –