我想通過Adobe Reader打印使用ASP(C#)的PDF - 問題是它在我的本地機器上工作,但在服務器上無法工作。在我的本地啓動Adob eReader處於最小化狀態,並且我可以在打印機的「查看正在打印的內容」窗口中看到該文件。但在服務器上,我可以看到該進程已從任務管理器啓動,但沒有UI可見,也沒有打印機列表中的文件。使用Acrobat Reader從ASP.Net(c#)打印PDF
我雖然它可能是一個權限問題,但嘗試以下步驟後 - 它仍然無法正常工作。
我試過了。
由於默認情況下它運行在默認應用用戶 - 所以我創建的管理員用戶下一個新的應用程序池,現在開始在管理的過程中,但我仍然無法看到UI和打印機沒有輸出。
我在本文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);
你真的不想那麼做。這不僅違反了許可協議,而且Adobe Reader也沒有設計成可以作爲服務運行。他們不會在這種環境下測試安全缺陷。 – joelgeraci