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