我想通过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