现在我正在使用asp.net和C# 我使用ActiveReports在我的系统中进行报告 我试图打印我的报告并显示预览(我的意思是我不使用WebViewer来预览报告,而是直接打印报告)。
MyAR1 rptMyreport = new MyAR1();
DataTable dtMydata = new DataTable();
//add some data in dtMydata
rptMyreport .DataSource = dtMydata;
if (rptMyreport .Document.Printer.PrinterSettings.IsValid)
{
try
{
rptMyreport .Run();
rptMyreport .Document.Print(false, false, false);
}
catch (Exception)
{
// do something
}
}
else
{
//show Error Message
}
我的问题是...... 当我打印此报告时,它在服务器站点打印机上工作,而不是在客户端站点打印机中工作。即(我在4楼工作,服务器在10楼。当我打印报告时。它由10楼的服务器站点打印机打印。)我该怎么做才能在打印机打印报告,这是客户端PC连接的。
关心,
答案 0 :(得分:1)
上面运行的C#代码实际上是在服务器上运行的,这就是Server的打印机是接收打印作业的打印机的原因。但是,您希望客户端计算机(具有Web浏览器的计算机)接收打印作业。为此,我们提供了几个选项,但在帮助主题Provide One-Touch Printing in the WebViewer (Pro Edition)下的文档中逐步介绍了最佳选项。 这将导致打印从使用Web浏览器的计算机而不是服务器发生。
您可以使用除Flash之外的其他查看器类型,但浏览器会强制显示打印对话框(以防止网页在未经同意的情况下随机打印)。有关可用选项和限制的更多信息,请参阅帮助主题Web Viewer Print Options。