找回密码
 立即注册

QQ登录

只需一步,快速开始

小白A

注册会员

9

主题

25

帖子

80

积分

注册会员

积分
80

[已处理] 批量打印

小白A
注册会员   /  发表于:2024-8-30 22:20  /   查看:1035  /  回复:5
1金币
如何实现批量打印,通过勾选多选框

最佳答案

查看完整内容

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

5 个回复

倒序浏览
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2024-8-30 22:20:47
来自 4#
如果要前端调用的话,有几个先简单给您说一下,因为前端打印受限于浏览器,必须有浏览器打印框。所以还没办法一次打印多套模板。
还是要一个模板一个模板的手选确定。
所以咱们如果想要直接选了就直接打印,得搭配服务端的程序,去调用电脑的打印驱动。
前端方法基于我们的JS,所以需要先引入对应的JSViewer的相关JS即可。
1.首先浏览器根据模板调用打印,可以使用这个:
  1. GrapeCity.ActiveReports.JSViewer.print({ reportID: '测试导出.rdlx'})
复制代码

可以直接调用出打印。

如果咱们想实现无预览批量,推荐您其实批量导出PDF。然后把PDF流传给打印程序。
后端导出返回pdf流的代码,可以参考:
  1. [HttpGet("viewer/pdf")]
  2. public async Task<IActionResult> getPDF(string reportName)
  3. {
  4.     String path = Path.Combine(Directory.GetCurrentDirectory(), "resources" + Path.DirectorySeparatorChar);
  5.     // Provide the page report you want to render.
  6.     System.IO.FileInfo rptPath = new System.IO.FileInfo(path + reportName);
  7.     GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);

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

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

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

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

启动后给调用接口

传递pdf流即可打印

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
wengMQ悬赏达人认证
银牌会员   /  发表于:2024-9-1 22:21:34
2#
【新提醒】Web端在线设计器项目实际分享 - ActiveReports专区 - 专题教程 - 葡萄城开发者社区  https://gcdn.grapecity.com.cn/fo ... 4262&extra=page%3D1




是自己做的选择框还是

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
小白A
注册会员   /  发表于:2024-9-1 22:45:37
3#
wengMQ 发表于 2024-9-1 22:21
【新提醒】Web端在线设计器项目实际分享 - ActiveReports专区 - 专题教程 - 葡萄城开发者社区  https://gcd ...

是自己做的选择框
回复 使用道具 举报
小白A
注册会员   /  发表于:2024-9-2 22:08:55
5#
Felix.Li 发表于 2024-9-2 14:30
如果要前端调用的话,有几个先简单给您说一下,因为前端打印受限于浏览器,必须有浏览器打印框。所以还没办 ...

谢谢您的解答,我这边试试
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2024-9-3 11:58:37
6#
小白A 发表于 2024-9-2 22:08
谢谢您的解答,我这边试试

OK,您先试试,有问题您及时追贴回复。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部