找回密码
 立即注册

QQ登录

只需一步,快速开始

lin666

初级会员

40

主题

139

帖子

439

积分

初级会员

积分
439
lin666
初级会员   /  发表于:2019-10-24 10:32  /   查看:4444  /  回复:6
其他表没问题 评定表149-钢桥面板上防水黏结层现场质量检验评定表.rar (15.81 KB, 下载次数: 137)

6 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2019-10-24 11:01:16
沙发
你好,看到你的文档布局一个是横向的,一个是纵向的, SpreadJS当中可以设置横向或者纵向打印,但是浏览器只能设置一种方向的打印:
image.png825402526.png
由于这个限制,最终只能按照一种方向来打印,所以推荐这样的表单可以分开打印,或者导出pdf后打印。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
lin666
初级会员   /  发表于:2019-10-24 11:46:44
板凳
Fiooona 发表于 2019-10-24 11:01
你好,看到你的文档布局一个是横向的,一个是纵向的, SpreadJS当中可以设置横向或者纵向打印,但是浏览器 ...

就是导出pdf后出现这个问题
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-10-24 12:11:13
地板
参考这个链接:
https://www.grapecity.com.cn/blogs/spreadjs-print-info
主要设置纸张大小,打印方向,缩放,剧中方式,页边距,可以具体根据您的表单进行设置。
如果还有问题可以上传一份能复现问题的Demo ,
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
lin666
初级会员   /  发表于:2019-10-24 16:58:21
5#
本帖最后由 lin666 于 2019-10-24 17:11 编辑

这边是这么处理的:把整个workbook转换为PDF然后根据每个sheet遍历居中打印,打印取每张表的打印区域(这个在原表上已经设置好)。像这样: 1.png
然后打印的时候发现上面那张表不居中效果如下: 3.png
正常表打印效果应该如下: 2.png 4.png
注:虽然是遍历sheet,但是一楼里只有第一张表格有这个问题,所以只截这部分的图。
相关代码如下:
print(e) {
    let self = this;
    var serializationOption = {
   }
    var jsonString = JSON.stringify(self.spread.toJSON(serializationOption));
    var jsonOptions = {
   }
    let printSpread =   new GC.Spread.Sheets.Workbook();
    printSpread.fromJSON(JSON.parse(jsonString), jsonOptions);
    let deleteColumnNum;

    for(let sheetIndex = 0;sheetIndex < printSpread.getSheetCount()-1;sheetIndex++){
      let sheet = printSpread.getSheet(sheetIndex);     
      if(条件){
            deleteColumnNum = 1;
            this.setPrintInfo(sheet, deleteColumnNum);
      }else{
          deleteColumnNum = 3;
          this.setPrintInfo(sheet, deleteColumnNum);
      }  
    }
    printSpread.savePDF(function(blob) {   
      window.open(URL.createObjectURL(blob))        
      }, function(error) {
      console.log(error);
      }, {
        title: 'Print',
    });
  }

  setPrintInfo(sheet, deleteColumnNum) {
       var printInfo = sheet.printInfo();
       printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(GC.Spread.Sheets.Print.PaperKind.a4));
       printInfo.margin({ top: 0, bottom: 0, left: 0, right: 0, header: 0, footer: 0 });
       printInfo.showColumnHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);//获取或设置是否打印列标题。
       printInfo.showRowHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);   
      if(deleteColumnNum === 1){
        printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);//打印的页面方向。portrait纵 landscape
      }else{
        printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.portrait);//打印的页面方向。portrait纵 landscape
      }
      printInfo.centering(GC.Spread.Sheets.Print.PrintCentering.both);//打印页面的居中方式。      
       //是否打印控件的外边框
       printInfo.showBorder(false);
       //是否打印网格线(默认打印)
       printInfo.showGridLine(false);
      printInfo.zoomFactor(0.90);
  }
用的是angular

评分

参与人数 1金币 +333 收起 理由
Fiooona + 333 谢谢您的反馈

查看全部评分

回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-10-24 18:10:54
6#
问题已复现,调研后有结果回复您,暂时改为保留处理
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-11-11 16:16:16
7#
你好 该问题会在V13.0.1中修复,谢谢您的反馈
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部