找回密码
 立即注册

QQ登录

只需一步,快速开始

qazfj8282

注册会员

12

主题

54

帖子

160

积分

注册会员

积分
160
qazfj8282
注册会员   /  发表于:2017-5-26 09:38  /   查看:8038  /  回复:7
您好,这个是我设置了横向居中和纵向居中后显示的界面,
此处显示的有问题,该报表已经横跨两个页面,并且一个报表的前后部分均会有空白页(无法在Demo中再现),
应该是控件中的布局与页面纸张的布局不一致,导致页面中无法正常居中。
可以看Demo中的页眉和页脚即为空间的布局,用红色边框指示。如图显示:
如何将控件中的布局与页面的纸张保持一致,使页面能够正常居中。此处该如何设置才能正常居中显示?
附demo一个,我设置的打印参数:
var printInfo = spread.sheets[0].printInfo();
    printInfo.centering(GcSpread.Sheets.PrintCentering.Both);
       //printInfo.centering(GcSpread.Sheets.PrintCentering.Vertical);
    //printInfo.centering(GcSpread.Sheets.PrintCentering.Horizontal);
    //printInfo.centering(GcSpread.Sheets.PrintCentering.None);
    printInfo.showGridLine(false);
    printInfo.centering(GcSpread.Sheets.PrintCentering.None);
    printInfo.zoomFactor(0.80);
    printInfo.repeatRowStart(0);
                printInfo.repeatRowEnd(9);
    printInfo.repeatColumnStart(0);
                printInfo.repeatColumnEnd(9);
    printInfo.columnStart(0);
                printInfo.columnEnd(5);
    printInfo.rowStart(0);
                printInfo.rowEnd(5);
     printInfo.margin(({
                                    top: 15,
                                    bottom: 15,
                                    left: 15,
                                    right: 15,
                                    header: 0,
                                    footer: 0
                                }));
    printInfo.headerLeft("leftHeader");
    printInfo.headerCenter("middleHeader");
    printInfo.headerRight("rightHeader");
    printInfo.footerLeft("leftFooter");
    printInfo.footerCenter("middleFooter");
    printInfo.footerRight("rightFooter");
    spread.sheets[0].printInfo(printInfo);
12345.png

PrintDemo.zip

612.68 KB, 下载次数: 479

7 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-5-26 09:59:19
沙发
这个因为您浏览器设置的是横向打印,而spreadjs默认是纵向打印,需要将spreadjs的打印方向与浏览器的保持一致,如:printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape)这般设置横向打印即可。
spreadjs设置打印方向的文档可以参考:
http://sphelp.grapecity.com/webh ... ageOrientation.html
回复 使用道具 举报
qazfj8282
注册会员   /  发表于:2017-5-26 10:28:23
板凳
您好,如图所示是浏览器与spreadjs中都设置为纵向打印的方式,仍然横跨两页。
页眉和页脚分布在两个页面之上,请认真看我写的文档和Demo,
跟设置横向纵向关系不大。
123456.png
回复 使用道具 举报
qazfj8282
注册会员   /  发表于:2017-5-26 10:30:19
地板
怎么去掉除表格之外的部分?
回复 使用道具 举报
qazfj8282
注册会员   /  发表于:2017-5-26 13:33:20
5#
没有人了吗
回复 使用道具 举报
qazfj8282
注册会员   /  发表于:2017-5-26 13:38:51
6#
您好,这是横向打印的结果,
由此可见不论横向、纵向 均会发生横跨两页的现象,
请问如果要在一张页面上对所选的表格进行居中显示,改如何处理?
111.png
回复 使用道具 举报
qazfj8282
注册会员   /  发表于:2017-5-26 13:40:20
7#
纵向和横向貌似只是一个页面的调转,实际是一样的
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-5-26 16:15:11
8#
原因是这样的,确实是横纵向设置的问题,只是因为您是V9的版本,设置横向打印的方法与V10不同,
首先要获取papersize,
然后将papersize设置进printinfo,
最后再设置横向打印。
V10只需最后一步。
另外有一点注意由于精度误差,第二部设置papersize进printinfo时设置的宽高要适当减一些,只需具体减少多少需根本实际情况进行调整。

附件是调过后的demo,您可以进行参考

ps:去掉表格之外只需将您之前设置的
printInfo.headerLeft("leftHeader");
printInfo.headerCenter("middleHeader");
printInfo.headerRight("rightHeader");
printInfo.footerLeft("leftFooter");
printInfo.footerCenter("middleFooter");
printInfo.footerRight("rightFooter");
去掉即可。

Print.zip

2.09 KB, 下载次数: 407

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