zhlgm 发表于 2017-9-26 16:26:08

ActiveReport 部署到IIS不能打印

ActiveReport在本机Visual Studio开发项目中, 启用自带的调试运行,连接网络打印机 是可以打印的;但是部署在本机IIS, 连同一台网络打印机,却不能打印; 不知什么原因?

KearneyKang 发表于 2017-9-26 17:03:18

有报错信息没?有请截图
还有就是您的bin文件下是否存在print的引用,把原项目中的引用都设置为可复制。

zhlgm 发表于 2017-9-26 18:31:22

没有报错信息, Bin下有对dll的引用, 但IIS下就是不能直接打印, Visual Studio调试可以直接打印!

KearneyKang 发表于 2017-9-26 19:46:31

那应该是缺失部分引用导致的。您看看你发布文件的bin目录下的引用,要不把整个引用拷进去看看

zhlgm 发表于 2017-9-27 10:32:56

IIS对应的website,就是本身的visual studio项目, bin有相关的引用. 其实是同一个项目, 现在的问题是:
通过visual studio运行内置的iis能打印, 但在系统本地IIS不能打印。不明白为什么?

KearneyKang 发表于 2017-9-27 11:48:41

要不您把能重现问题的demo发过来,我给验证下

zhlgm 发表于 2017-9-27 12:04:39

帮看下是什么原因本地IIS下不能打印, 上传了个测试demo

KearneyKang 发表于 2017-9-27 14:36:45

本帖最后由 KearneyKang 于 2017-9-28 10:35 编辑

您好!您发过来的demo我这边运行不起来,一直报错。

zhlgm 发表于 2017-9-28 14:07:26

zhlgm 发表于 2017-9-27 12:04
帮看下是什么原因本地IIS下不能打印, 上传了个测试demo

请用这个demo, 帮看下是什么原因本地IIS下不能打印。

KearneyKang 发表于 2017-9-28 16:05:45

您好,您用的是区域报表。我也看了您的打印代码。
您换一种打印的方式试试。用这种打印的写法: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
查看完整版本: ActiveReport 部署到IIS不能打印