使用ActiveReport在客户端打印机上打印

时间:2012-07-04 03:51:38

标签: c# asp.net activereports

现在我正在使用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连接的。

关心,

1 个答案:

答案 0 :(得分:1)

上面运行的C#代码实际上是在服务器上运行的,这就是Server的打印机是接收打印作业的打印机的原因。但是,您希望客户端计算机(具有Web浏览器的计算机)接收打印作业。为此,我们提供了几个选项,但在帮助主题Provide One-Touch Printing in the WebViewer (Pro Edition)下的文档中逐步介绍了最佳选项。 这将导致打印从使用Web浏览器的计算机而不是服务器发生。

您可以使用除Flash之外的其他查看器类型,但浏览器会强制显示打印对话框(以防止网页在未经同意的情况下随机打印)。有关可用选项和限制的更多信息,请参阅帮助主题Web Viewer Print Options