找回密码
 立即注册

QQ登录

只需一步,快速开始

ismudge

初级会员

24

主题

53

帖子

251

积分

初级会员

积分
251
ismudge
初级会员   /  发表于:2021-10-21 10:40  /   查看:2290  /  回复:7
本帖最后由 Clark.Pan 于 2021-11-5 12:11 编辑

https://demo.grapecity.com.cn/sp ... /basic-print/purejs

这是spreadjs文档上给的打印示例


这是打印预览的情况,内容显示不全

chrome版本是现在最新的,版本 95.0.4638.54(正式版本) (64 位)
麻烦问下,这是什么原因
image.png364421691.png
image.png349889525.png
image.png987038879.png

7 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-16 17:35:22
推荐
chrome96已修复该bug,可以升级测试下。
ac2b8ae2dfbd4198d36ef769773464d.png179400939.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-25 16:17:27
推荐
本帖最后由 Lynn.Dou 于 2021-10-25 16:20 编辑

经调研此问题是由chrome升级引起的,猜测可能是chrome的bug。
现提供一个解决方案,您可以参考测试下:

在项目中添加以下代码,
// 通过监听BeforePrint事件,在打印前执行下方代码逻辑:
  1. spread.bind(GC.Spread.Sheets.Events.BeforePrint, function (type, args) {
  2.       var iframe = args.iframe;
  3.       var printFn = iframe.contentWindow.print;
  4.      iframe.contentWindow.print = function () {
  5.           setTimeout( function () {
  6.                 printFn.apply( null , arguments);
  7.           }, 10);
  8.     }
  9. });
复制代码


回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-21 10:51:14
沙发
您好,
问题已复现,已将此问题记录下来需进一步调研,
待有进展会在贴中更新,
本贴先做保留处理。
回复 使用道具 举报
ismudge
初级会员   /  发表于:2021-10-26 15:54:26
地板
Lynn.Dou 发表于 2021-10-25 16:17
经调研此问题是由chrome升级引起的,猜测可能是chrome的bug。
现提供一个解决方案,您可以参考测试下:

...

我的spreadjs版本是11.2.6, 加了你给的代码,打印还是不行
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-26 16:44:54
5#
V11.2.6 不支持 BeforePrint 事件,这是之后版本新增的功能,
建议您升级至最新版本。
回复 使用道具 举报
ismudge
初级会员   /  发表于:2021-10-29 10:30:22
6#
Lynn.Dou 发表于 2021-10-26 16:44
V11.2.6 不支持 BeforePrint 事件,这是之后版本新增的功能,
建议您升级至最新版本。

好的,谢谢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-29 10:43:28
7#
您客气了,那本帖就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部