ActiveReport 部署到IIS不能打印
ActiveReport在本机Visual Studio开发项目中, 启用自带的调试运行,连接网络打印机 是可以打印的;但是部署在本机IIS, 连同一台网络打印机,却不能打印; 不知什么原因?有报错信息没?有请截图
还有就是您的bin文件下是否存在print的引用,把原项目中的引用都设置为可复制。 没有报错信息, Bin下有对dll的引用, 但IIS下就是不能直接打印, Visual Studio调试可以直接打印! 那应该是缺失部分引用导致的。您看看你发布文件的bin目录下的引用,要不把整个引用拷进去看看
IIS对应的website,就是本身的visual studio项目, bin有相关的引用. 其实是同一个项目, 现在的问题是:
通过visual studio运行内置的iis能打印, 但在系统本地IIS不能打印。不明白为什么? 要不您把能重现问题的demo发过来,我给验证下 帮看下是什么原因本地IIS下不能打印, 上传了个测试demo
本帖最后由 KearneyKang 于 2017-9-28 10:35 编辑
您好!您发过来的demo我这边运行不起来,一直报错。 zhlgm 发表于 2017-9-27 12:04
帮看下是什么原因本地IIS下不能打印, 上传了个测试demo
请用这个demo, 帮看下是什么原因本地IIS下不能打印。
您好,您用的是区域报表。我也看了您的打印代码。
您换一种打印的方式试试。用这种打印的写法:GrapeCity.ActiveReports.PrintExtension.Print(sectionDocument, true, true);GrapeCity.ActiveReports.SectionReport rpt = new GrapeCity.ActiveReports.SectionReport();
System.Xml.XmlTextReader xtr = new System.Xml.XmlTextReader(Server.MapPath("~") + @"\Upload\Style\Default.rpx"); //Invoice
rpt.LoadLayout(xtr);
xtr.Close();
try
{
rpt.DataSource = BuildData();
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4;
rpt.Run(false);
}
catch (Exception ex)
{
Response.Write("error: " + ex.StackTrace);
}
GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport pdf = new GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport();
MemoryStream ms = new System.IO.MemoryStream();
pdf.Export(rpt.Document, ms);
// Microsoft XPS Document Writer本地默认XPS打印机
rpt.Document.Printer.PrinterName = fPrintDocument.PrinterSettings.PrinterName;
//result = rpt.Document.Print(false, false); //执行打印
GrapeCity.ActiveReports.PrintExtension.Print(rpt.Document, false, false);
页:
[1]
2