小白A 发表于 2024-8-30 22:20:46

批量打印

如何实现批量打印,通过勾选多选框

Felix.Li 发表于 2024-8-30 22:20:47

如果要前端调用的话,有几个先简单给您说一下,因为前端打印受限于浏览器,必须有浏览器打印框。所以还没办法一次打印多套模板。
还是要一个模板一个模板的手选确定。
所以咱们如果想要直接选了就直接打印,得搭配服务端的程序,去调用电脑的打印驱动。
前端方法基于我们的JS,所以需要先引入对应的JSViewer的相关JS即可。
1.首先浏览器根据模板调用打印,可以使用这个:
GrapeCity.ActiveReports.JSViewer.print({ reportID: '测试导出.rdlx'})
可以直接调用出打印。

如果咱们想实现无预览批量,推荐您其实批量导出PDF。然后把PDF流传给打印程序。
后端导出返回pdf流的代码,可以参考:

public async Task<IActionResult> getPDF(string reportName)
{
    String path = Path.Combine(Directory.GetCurrentDirectory(), "resources" + Path.DirectorySeparatorChar);
    // Provide the page report you want to render.
    System.IO.FileInfo rptPath = new System.IO.FileInfo(path + reportName);
    GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);

    GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();

        pdfSetting.FallbackFonts = "SimSun";
    // Set the rendering extension and render the report.
    PdfRenderingExtension pdfRenderingExtension = new PdfRenderingExtension();
    StreamProvider outputProvider = new MemoryStreamProvider();

    await Task.Run(() => { pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting); });

        return new FileStreamResult(outputProvider.GetPrimaryStream().OpenStream(), "application/pdf");
}然后前端用这个PDF流去打印。
打印程序可以参考这个,我们测试用的一个第三方的打印程序:
https://gcdn.grapecity.com.cn/showtopic-158871-1-1.html
这个里面有一个打印程序:

启动后给调用接口

传递pdf流即可打印

wengMQ 发表于 2024-9-1 22:21:34

【新提醒】Web端在线设计器项目实际分享 - ActiveReports专区 - 专题教程 - 葡萄城开发者社区https://gcdn.grapecity.com.cn/fo ... 4262&extra=page%3D1




是自己做的选择框还是

小白A 发表于 2024-9-1 22:45:37

wengMQ 发表于 2024-9-1 22:21
【新提醒】Web端在线设计器项目实际分享 - ActiveReports专区 - 专题教程 - 葡萄城开发者社区https://gcd ...

是自己做的选择框

小白A 发表于 2024-9-2 22:08:55

Felix.Li 发表于 2024-9-2 14:30
如果要前端调用的话,有几个先简单给您说一下,因为前端打印受限于浏览器,必须有浏览器打印框。所以还没办 ...

谢谢您的解答,我这边试试

Bella.Yuan 发表于 2024-9-3 11:58:37

小白A 发表于 2024-9-2 22:08
谢谢您的解答,我这边试试

OK,您先试试,有问题您及时追贴回复。
页: [1]
查看完整版本: 批量打印