lihuioooo 发表于 2016-4-6 10:53:10

报表打印时如何直接接收这个报表生成的pdf文件?

本帖最后由 Lenka.Guo 于 2016-4-6 17:06 编辑

使用场景是这样的,我们想实现报表自动批量打印功能,之前问过你们 说是没办法完成,现在我们想的是用java语言 请求报表服务,想接收一个生成pdf之类的文件,通过接收这个文件做成流实现打印,怎么来完成这个文件的接收??

Lenka.Guo 发表于 2016-4-6 12:06:40

本帖最后由 Lenka.Guo 于 2016-4-6 12:17 编辑

Hi,
您指的批量打印不知与帖子http://gcdn.gcpowertools.com.cn/ ... 07597&fromuid=29382
中的需求是否一致;即:批量打印单据。假如一次性需要打印5个准考证。如果一致可采用相同的方法。

http://gcdn.gcpowertools.com.cn/ ... 07812&fromuid=29382

http://gcdn.gcpowertools.com.cn/ ... 07930&fromuid=29382


如果上述帖子,无法满足您的需求,你是需要在Java语言访问,先导出PDF ,然后进行打印;
如果是Web端
1. 您可以先创建Web Service文件,修改该类继承的原始类型为 GrapeCity.ActiveReports.Web.ReportService。
2. 在Web Service 文件中,实现OnCreateReportHandler 方法中实现报表导出为PDF;
导出PDF 代码:
var instance = base.OnCreateReportHandler(reportPath);
            var pageReport = instance as PageReport;
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"D:\Demo");
            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);

3. 调用PDF 打印。
页: [1]
查看完整版本: 报表打印时如何直接接收这个报表生成的pdf文件?