找回密码
 立即注册

QQ登录

只需一步,快速开始

安泰得

金牌服务用户

43

主题

106

帖子

421

积分

金牌服务用户

积分
421
安泰得
金牌服务用户   /  发表于:2018-5-10 14:49  /   查看:6920  /  回复:13
image.png191757811.png

打印的时候设置了这些
var printInfo = sheet.printInfo();
spread.options.scrollbarMaxAlign = true;//对齐视图中表单的最后一行
printInfo.zoomFactor(0.75);
printInfo.showGridLine(false);
printInfo.showRowHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);
printInfo.showColumnHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);
printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(GC.Spread.Sheets.Print.PaperKind.a4))
printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);
spread.print();


然后发现横过来的表他自动把一部分折行了
已经设置缩放 页边距也都设置为0了
想把列头都放到一页里面 分页显示行数据 但是变成了图中这个样子
另外再附上SSJSON 麻烦帮忙看看是为什么

test.ssjson (30.78 KB, 下载次数: 299)

13 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-10 18:22:55
沙发
这个原因应该是右边内容显示不下折行了导致。
首先右边的部分距离被浏览器打印设置中的边距占据了,这样看似能够显示下,实际不够进行显示。
可以将浏览器的打印设置边距调成无
image.png568023070.png
其次您看一下printInfo的margin是否有进行设置。margin是有一个默认值的,也会占据一些距离。最终导致距离不够。
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2018-5-11 09:43:26
板凳
本帖最后由 安泰得 于 2018-5-11 09:47 编辑
ClarkPan 发表于 2018-5-10 18:22
这个原因应该是右边内容显示不下折行了导致。
首先右边的部分距离被浏览器打印设置中的边距占据了,这样看 ...

浏览器设置和margin这个也尝试过了 依然会莫名折行
image.png428079223.png

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-11 13:44:18
地板
还是列宽总和大于纸张大小了zoomFactor 再小点
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2018-5-14 09:37:37
5#
通过缩小比例已经可以在一张A4纸上打印啦
但是有在页面折行的时候出现这样的问题 劳烦再看一下
image.png268195189.png
经查框中的两条是同一行数据,但是在前一页留了半截
后一条又出现在了第二页

这里使用了重复打印表头区域 是否和这个有关系 如何让遗留的半条正常显示
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-14 14:46:00
6#
正常情况不会只打印半行的,请将您的页面在打印的时候保存一个json,上传json我这边重现下问题。
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2018-5-15 15:30:26
7#
dexteryao 发表于 2018-5-14 14:46
正常情况不会只打印半行的,请将您的页面在打印的时候保存一个json,上传json我这边重现下问题。

var sheet = spread.getSheet(0);
sheet.options.isProtected = true;
sheet.autoGenerateColumns = false;
var printInfo = sheet.printInfo();
printInfo.zoomFactor(0.8);
printInfo.showGridLine(false);
printInfo.showRowHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);
printInfo.showColumnHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);
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.centering(GC.Spread.Sheets.Print.PrintCentering.both);
                       
printInfo.repeatRowStart(0);
printInfo.repeatRowEnd(5);

有劳了 以上是打印时候的配置


样本.txt

68.83 KB, 下载次数: 182

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-15 19:23:11
8#
您好,这个问题目前正在处理中,明天给您回复。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-16 11:19:56
9#
您好,看了一下,是浏览器设置的边距导致的。这个您将浏览器设置的边距调整为无即可。
image.png881929931.png
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2018-5-16 14:23:44
10#
本帖最后由 安泰得 于 2018-5-16 14:25 编辑
ClarkPan 发表于 2018-5-16 11:19
您好,看了一下,是浏览器设置的边距导致的。这个您将浏览器设置的边距调整为无即可。

这个也做过尝试了。。但是效果如下 还是有半行的数据Orz
image.png424060973.png

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