以下代码用于从ASP .NET MVC3应用程序打印到连接到LAN中IP地址并在服务器中作为Samsung ML-331x系列共享的Samsung ML-331x系列打印机
什么都没打印出来。执行在doc.Print()
行停止。
每个控制器调用都会添加新的未完成作业:
这些工作永远不会完成,只有iisreset
清除它们。
服务器是Windows 2003 + IIS 它适用于MVC2 .NET 3.5应用程序。 ForteSSL VPN安装在服务器上,应用程序升级到 MVC3和.NET 4。 (之后没有立即检查打印,所以我不确定这与这些更改有关。)
具有所有权限的用户网络服务已添加到打印机用户,但问题仍然存在。 通过在Visual Studio中使用Web Developer服务器按F5并使用控制器调用打印到PDF Creator,在开发计算机中运行应用程序正常工作。
如何从服务器中的控制器打印?
public ActionResult PrintTest()
{
var doc = new PrintDocument();
doc.PrinterSettings.PrinterName = "Samsung ML-331x Series";
doc.PrintPage += new PrintPageEventHandler(TestProvideContent);
doc.Print();
return new ContentResult()
{
Content = "Printed"
};
}
public void TestProvideContent(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawString("Test",
new Font("Arial", 12),
Brushes.Black,
e.MarginBounds.Left,
e.MarginBounds.Top);
}
更新
应用程序以完全信任级别运行。 应用程序登录事件查看器中没有任何关于此的条目。
使用Programmatically "hello world" default SERVER-side printer in ASP.NET MVC我尝试使用服务器名称为\\SERVER\Samsung ML-331x Series
的打印机名称,但问题仍然存在。