找回密码
 立即注册

QQ登录

只需一步,快速开始

[处理中] 报表打印调用

livi
金牌服务用户   /  发表于:3 天前
11#
Eden.Sun 发表于 2024-9-24 13:48
是的,这个是调用查看器的打印方法,不用在浏览器进入查看页面。
如果这个适合您的场景的话,这种方式也是 ...

我们的需求就是不要出预览报表,也不用点后面的打印能直接打印出来...
回复 使用道具 举报
livi
金牌服务用户   /  发表于:3 天前
12#
能否有什么方式获取到报表加载完后的html页面内容呢?这样我们可以获取到内容直接进行打印
回复 使用道具 举报
livi
金牌服务用户   /  发表于:3 天前
13#
Bella.Yuan 发表于 2024-9-24 10:24
问题描述:如何实现无预览打印?
问题解答:您好,无预览打印您可以参考下面的教程进行实现:
AR-web端实 ...

我们需要是在客户端浏览器那边打印,这个是在服务器上打印吗?
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:3 天前
14#
livi 发表于 2024-9-24 15:58
我们需要是在客户端浏览器那边打印,这个是在服务器上打印吗?

不是的,这个在客户端的。也就是说您的电脑要做无预览打印的话。得先在您的电脑上安装帖子中的两个服务。

如果您完全不想要后面的报表预览、打印弹框的话。目前来说只能通过这个方案。
AR-web端实现静默打印(无预览打印)
https://gcdn.grapecity.com.cn/showtopic-163480-1-1.html
(出处: 葡萄城开发者社区)




如果不介意浏览器弹出打印框的话,就是这个帖子中的教程。
JSViewer无预览打印
https://gcdn.grapecity.com.cn/showtopic-84024-1-1.html
(出处: 葡萄城开发者社区)



因为这个打印弹框是浏览器自己的行为,即使不使用ar,只要你从浏览器打印,就必定会弹框。AR没办法控制浏览器的行为。
所以才有了第一种方案,导出pdf文档之后,在调用打印机进行打印。


回复 使用道具 举报
livi
金牌服务用户   /  发表于:3 天前
15#
Eden.Sun 发表于 2024-9-24 16:19
不是的,这个在客户端的。也就是说您的电脑要做无预览打印的话。得先在您的电脑上安装帖子中的两个服务。 ...

你的意思是 每个要打印报表的客户端机器上都要安装那两个exe?
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:3 天前
16#
livi 发表于 2024-9-24 16:31
你的意思是 每个要打印报表的客户端机器上都要安装那两个exe?

是的。你想完全绕开浏览器本身,就肯定不能使用浏览器的打印。
你可以试一下教程中的方案。
回复 使用道具 举报
livi
金牌服务用户   /  发表于:3 天前
17#
Eden.Sun 发表于 2024-9-24 17:08
是的。你想完全绕开浏览器本身,就肯定不能使用浏览器的打印。
你可以试一下教程中的方案。

那如果我们接入了Lodop插件,那我们能调用那个插件么,还是必须调用你们这两个服务?
回复 使用道具 举报
livi
金牌服务用户   /  发表于:3 天前
18#
Eden.Sun 发表于 2024-9-24 17:08
是的。你想完全绕开浏览器本身,就肯定不能使用浏览器的打印。
你可以试一下教程中的方案。

另外用教程里的方式直接打印的就是后面那个图,按照之前预览报表再打印的是图一。这个要怎么处理呢?

本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:前天 09:25
19#
本帖最后由 Felix.Li 于 2024-9-25 09:28 编辑

您好,给您说一下整个原因。
1.您如果要实现完全的 无预览打印,并且还是客户端的,这个浏览器是做不到的,因为浏览器是没有办法直接调用系统打印机的,并且浏览器的打印必须弹出来那个弹出框,这个是浏览器的限制,我们没有办法绕开。
2.按照您说的,用lodop,不确定能不能准确的抓到页面对应的元素,并且纸张自动调整,这个我们也不确定。但是我们之前发您的方案,那个教程里面会借助一个程序,这个原理其实是先调用我们的接口,做一个导出,导出一个PDF,然后后端那个其实也是我们网上找的一个开源的,调用系统打印机的程序,然后相当于是基于一个服务端程序,把那个PDF打印出来,所以其实您不用我们的也可以,自己写一个也行,因为我们最后那个导出接口得到的blob,就是一个PDF流,咱们自己处理也行。
3.关于您用教程里面,打印出来这个样子应该是教程里面那个程序是调用的系统默认打印机,所以打印属性走的是打印机的首选项,应该是打印机的首选项里面纸张和方向指定成这个样子了,所以打印出来的是这个样子的,需要您主动调整默认打印机的首选项

然后整体如果您要打印,分两个,一个是点击打印,弹出浏览器打印框,这个您按照之前发您的教程。引用我们的JS,直接调用
  1. GrapeCity.ActiveReports.JSViewer.print({ reportID:'RdlReport1.rdlx'});
复制代码
用这个即可。
如果不希望出现弹出框,如果用我们前面的教程,您就调整默认打印机属性。或者咱们自己写一个服务端打印程序,给客户端安装一下,浏览器用PDF流去打印也可以
回复 使用道具 举报
livi
金牌服务用户   /  发表于:前天 13:17
20#
本帖最后由 livi 于 2024-9-25 13:19 编辑
Felix.Li 发表于 2024-9-25 09:25
您好,给您说一下整个原因。
1.您如果要实现完全的 无预览打印,并且还是客户端的,这个浏览器是做不到的 ...

大概逻辑前面的老师回复后基本已经理解和接受。但是现在有个新问题就是提供的方案里面跟我们正常打印有出入,那个也无需去做打印机配置,应该是根据报表设置里的横向和纵向直接就打印了,目前用你们提供的方案打印方法里的格式打印出来的格式是不行的,那我不可能打印这份横板的时候 就去调整下打印机默认设置,打印另外一份纵向的又去调整一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部