szpzr 发表于 2017-3-3 13:57:39

郭工,你好!
      反复试过了,还是不能按前述思路实现循环批量打印功能,能否和公司反馈下提供其他思路。谢谢!

szpzr 发表于 2017-3-4 15:49:13

想换个方式实现循环打印:页面添加WebViewer1,下列代码发布后客户端只能打印最后一张报表:
for (int I = 0; I < J; I++)
{
               Rptlist.Run();
               WebViewer1.Report = Rptlist.Document;
                  WebViewer1.FlashViewerOptions.PrintOptions.StartPrint = true;
                  WebViewer1.Visible = true;
                  WebViewer1.Width = 0;
                  WebViewer1.Height = 0;
}

Lenka.Guo 发表于 2017-3-6 14:30:50

如电话所沟通1. 创建一个简单的Web示例来测试批量打印
2.将所有的报表文件导出成PDF文件拼接后打印:

导出pdf文件:
// Provide the page report you want to render.
GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(@"C:\Sample_PageReport.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument reportDocument = new GrapeCity.ActiveReports.Document.PageDocument(report);

// Create a output directory
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyPDF");
outputDirectory.Create();

// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = pdfSetting;

//Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
reportDocument.Render(pdfRenderingExtension, outputProvider, pdfSetting);

拼接PDF:
http://blog.gcpowertools.com.cn/post/CombineReport.aspx

szpzr 发表于 2017-3-6 15:55:43

是否有区域报表拼接的Demo

Lenka.Guo 发表于 2017-3-6 16:25:49

szpzr 发表于 2017-3-6 15:55
是否有区域报表拼接的Demo

#43中那篇博客里面区域报表和RDL报表,页面报表都有讲到

szpzr 发表于 2017-3-6 17:02:16

郭工,帮看下下列代码是否问题:
                //定义汇总报表
                ColorCard_Ar RptSum = new ColorCard_Ar();
                RptSum.Run();
                //连接数据源
                for (int I = 0; I < J; I++)
                {
                         ColorCard_Ar Rpt = new ColorCard_Ar();//实例化报表
                         //生成区域报表。。。。
                         Rpt.Run();
                        RptSum.Document.Pages.AddRange(Rpt.Document.Pages);
                }
                RptSum.Run();
                WebViewer1.Report = RptSum.Document;
没有实现预期效果,有问题码?

Lenka.Guo 发表于 2017-3-6 17:40:30

本帖最后由 Lenka.Guo 于 2017-3-6 17:42 编辑

Hi,
为了以后方便查找,每个问题一个帖子,开个新帖讨论这个问题,
代码没有问题,使用代码实现的效果是怎么样的,跟预期有什么样的差别?

szpzr 发表于 2017-3-6 17:57:18

报表是空白的,而且J大于2时没有看到2页

Lenka.Guo 发表于 2017-3-6 18:09:09

在这个帖子继续讨论:http://gcdn.gcpowertools.com.cn/forum.php?mod=viewthread&tid=36144&pid=142114&page=1&extra=#pid142114
页: 1 2 3 4 [5]
查看完整版本: 直接打印