找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangjintao

注册会员

18

主题

45

帖子

147

积分

注册会员

积分
147
zhangjintao
注册会员   /  发表于:2019-4-29 19:51  /   查看:3657  /  回复:6
本帖最后由 zhangjintao 于 2019-4-29 20:04 编辑

excel预览打印时,可以做四周较小空白,但是spreadjs在预览打印时预留空白较大
代码如下:var printInfo = sheet.printInfo();
            printInfo.showColumnHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);//获取或设置是否打印列头
            printInfo.showRowHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);//获取或设置是否打印行头
            printInfo.ShowBorder = false; //是否要打印在整个控件周围的外框边界。
            printInfo.ShowGrid = false; //该值指示是否打印网格线
            printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.portrait);
            printInfo.margin({ top: 0, bottom: 0, left: 0, right: 0, header: 0, footer: 0 });
            spread.print();

Excel.png spreadjs.png




下面是打印出来的效果:
Excel.png spreadjs.png


我已测试过好几台电脑的浏览器,都是这样的情况

6 个回复

倒序浏览
zhangjintao
注册会员   /  发表于:2019-4-29 19:55:32
沙发
另外,我们设计的四周加粗边框打印出来跟内部网格线一样,没有被加粗,但是导出到excel中时保留了加粗边框的,请指点
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-4-30 15:52:37
板凳
您好,针对您的问题,我们需要分析一下您的文档,

请上传您的文档到帖子附件,我们分析重现一下问题。
回复 使用道具 举报
zhangjintao
注册会员   /  发表于:2019-5-5 14:59:46
地板
请查看附件,帮我们指出那里配置除了问题,谢谢

json.txt

37.75 KB, 阅读权限: 150, 下载次数: 2

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-6 10:20:57
5#
您好,问题已经定位了,描述如下:

1、四周空白较多的问题,请参考下图的浏览器设置:

image.png201697692.png

2、关于打印边框的问题,出在您的代码中有两行执行错误,如下所示:

  1. printInfo.ShowBorder = false; //是否要打印在整个控件周围的外框边界。
  2. printInfo.ShowGrid = false; //该值指示是否打印网格线
复制代码


printInfo实例没有这两个属性,改为:

  1. printInfo.showBorder(false); //是否要打印在整个控件周围的外框边界。
  2. printInfo.showGridLine(false); //该值指示是否打印网格线
复制代码
回复 使用道具 举报
zhangjintao
注册会员   /  发表于:2019-5-6 10:49:45
6#
你好,浏览器设置没有这样的属性,尤其是边距这个属性,没有无
TIM截图20190506104806.png
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-6 16:07:10
7#
您好,您使用的Edge浏览器的确没有无边框的选项,我这边调整了一下代码,

按照您打印的表格比例,尽量调整到了无边框的状态。

Edge的打印边框是浏览器这边添加的,程序只能尽量调整到打印边框最窄的状态。

代码如下:

  1. var sheet = spread.getActiveSheet();
  2.             var printInfo = new GC.Spread.Sheets.Print.PrintInfo();
  3.             printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(750, 1108));
  4.             printInfo.margin({ top: 0, bottom: 0, left: 0, right: 0, header: 0, footer: 0 });
  5.             printInfo.centering(GC.Spread.Sheets.Print.PrintCentering.both);
  6.             printInfo.showColumnHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);//获取或设置是否打印列头
  7.             printInfo.showRowHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);//获取或设置是否打印行头
  8.             printInfo.showBorder(false); //是否要打印在整个控件周围的外框边界。
  9.             printInfo.showGridLine(false); //该值指示是否打印网格线
  10.             printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.portrait);
  11.             printInfo.zoomFactor(1);

  12.             sheet.printInfo(printInfo);

  13.             spread.print();
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部