请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

火龙狂舞

注册会员

3

主题

9

帖子

44

积分

注册会员

积分
44
  • 131

    金币

  • 3

    主题

  • 9

    帖子

最新发帖
火龙狂舞
注册会员   /  发表于:2025-3-6 11:19  /   查看:73  /  回复:3
本帖最后由 火龙狂舞 于 2025-3-15 08:54 编辑

大家有没遇到一个葡萄城报表打印的问题,当模板设置的接口返回数据超过1秒左右的时候,浏览器就不会唤出打印对话框了.今天试了很多次,批量打印不出打印预览框.把接口里的复杂计算部分去掉后能迅速返回数据就正常了.

一条打印是正常的

这2条批量打印的超过1秒没有打印预览框出来

把接口简化后可正常唤出打印对话框



为了测试,模板本身极简单.

本帖子中包含更多资源

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

x

3 个回复

倒序浏览
Felix.LiWyn认证
超级版主   /  发表于:2025-3-6 19:01:56
沙发
您是怎么调用的打印接口,看情况您其实不需要预览的,所以您其实走这个就可以:
https://demo.grapecity.com.cn/activereportsjs/docs/DeveloperGuide/ActiveReportsJSViewer/Print

评分

参与人数 1满意度 +5 收起 理由
火龙狂舞 + 5

查看全部评分

回复 使用道具 举报
火龙狂舞
注册会员   /  发表于:2025-3-7 10:10:10
板凳
Felix.Li 发表于 2025-3-6 19:01
您是怎么调用的打印接口,看情况您其实不需要预览的,所以您其实走这个就可以:
https://demo.grapecity.co ...

好的我看下,有时候客户是要求先看下预览再打
  //客户打印
  async function handlePrint() {
    reportViewer.value.Viewer().toggleToolbar(false);
    reportViewer.value.Viewer().toggleSidebar(false);
    const detailData = await getPrintRdlx({ title: '费用结算清单客户' });
    rdlx = JSON.parse(escape(detailData.rdlx));
    reportViewer.value.Viewer().open(rdlx, {
      ReportParams: [
        { Name: 'token', Value: [getToken()] },
        { Name: 'billnos', Value: [infoDetail.value.billno] },
      ],
    });
    setTimeout(() => {
      reportViewer.value.Viewer().print();
    }, 1000);
  }
是不是把settimeout里的1000改大点就好了?
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2025-3-7 16:39:40
地板
火龙狂舞 发表于 2025-3-7 10:10
好的我看下,有时候客户是要求先看下预览再打
  //客户打印
  async function handlePrint() {



您好,不知道您是那种场景您可以参考下面的介绍。

如果是先预览,然后退出预览,再去打印的话,您可以把viewer集成到您的项目。点击预览,然后退出,在使用帖子前面的回复进行打印。

如果您是预览的时候直接打印,,我们的viewer页面直接有打印按钮,可以进行打印的。



本帖子中包含更多资源

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

x

评分

参与人数 1满意度 +5 收起 理由
火龙狂舞 + 5

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部