找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-23 18:56:23
11#
是这样的显示吗?
image.png395842589.png
如果是这样,说明宽度太长了,纸张没办法显示全,这种情况只能进行缩放了
image.png18942870.png
这是我调整的printinfo您可以参考一下:
var printInfo = sheet.printInfo();
printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(GC.Spread.Sheets.Print.PaperKind.a4));
printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);
printInfo.margin({top:0, bottom:0, left:0, right:0, header:0, footer:0});
printInfo.zoomFactor(0.85)

评分

参与人数 1满意度 +5 收起 理由
max + 5 很给力!

查看全部评分

回复 使用道具 举报
max
注册会员   /  发表于:2018-5-23 19:27:49
12#
ClarkPan 发表于 2018-5-23 18:56
是这样的显示吗?

如果是这样,说明宽度太长了,纸张没办法显示全,这种情况只能进行缩放了

好像明白了,用你的这个方法是可以的。
你看一下我分析的对不:浏览器的缩放和表格的缩放是两个不同的功能;以前设置的是浏览器的缩放,只能缩放页面,而无法缩放表格,表格的缩放需要通过printInfo.zoomFactor设置。
目前的问题是,有没有方法同时缩放两个,或者将printInfo.zoomFactor方法显示处理,显示控制?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-24 09:12:03
13#
本帖最后由 ClarkPan 于 2018-5-24 09:13 编辑

差不多是这个意思,打印的原理是这样的,分为一个物理纸张和逻辑纸张,物理纸张就是浏览器打印设置本身,逻辑纸张就是spreadjs生成的打印纸张,spreadjs的打印就是将逻辑纸张覆盖在物理纸张之上。所以就有了为什么说浏览器打印设置需要将边框调整为无,因为这个是物理纸张的设置,如果有边框就会将逻辑纸张撑开导致分两页打印。横向纵向的设置也是一样,必须保证物理纸张与逻辑纸张的设置相同。
最后就是spreadjs本身打印的表格宽度都是根据单元格显示的宽度来的,如果表格太宽导致显示不下,那么只能够进行缩放。而且缩放必须缩放的是逻辑纸张的大小,也就是printinfo中的设置。因为浏览器本身的打印设置无法通过js去进行控制,所以目前您说的功能目前机制下无法实现。

评分

参与人数 1满意度 +5 收起 理由
max + 5 很给力!

查看全部评分

回复 使用道具 举报
max
注册会员   /  发表于:2018-5-24 09:40:43
14#
ClarkPan 发表于 2018-5-24 09:12
差不多是这个意思,打印的原理是这样的,分为一个物理纸张和逻辑纸张,物理纸张就是浏览器打印设置本身,逻 ...

好的,明白,多谢。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-24 10:02:40
15#
不客气,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部