0

现在我正在使用 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的打印机上打印报告连接的。

带着敬意,

4

1 回答 1

1

您在上面运行的 C# 代码实际上是在服务器上运行的,这就是为什么服务器的打印机是接收打印作业的打印机。但是,您希望客户端机器(带有 Web 浏览器的机器)接收打印作业。为此,我们提供了几个选项,但最好的选项在帮助主题“在 WebViewer(专业版)中提供一键打印”下的文档中逐步描述。这将导致从使用 Web 浏览器的机器而不是服务器进行打印。

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

于 2012-07-10T18:17:24.573 回答