找回密码
 立即注册

QQ登录

只需一步,快速开始

Fiooona
论坛元老   /  发表于:2020-3-22 22:42  /   查看:5201  /  回复:0
背景:SpreadJS 中的打印可以通过设置进行自定制的页面调整,新上手的用户常常要问的问题就是我如何把表单的内容打印到一页A4纸上呢?
          以下的示例代码不一定保证对所有的表单打印都会打印到一个A4纸上,仅做参考,说明如何进行打印设置,实际情况中可以根据具体的表单再做调整。
核心代码:
  1.   var sheet = spread.getActiveSheet();
  2.         var printInfo = sheet.printInfo();
  3.         //打印设置纸张设置为A4
  4.          printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(GC.Spread.Sheets.Print.PaperKind.a4));
  5.          // 纸张设置为其他尺寸
  6.        // printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(950,1350));
  7.        // 设置页边距
  8.         printInfo.margin({ top: 10, bottom: 0, left: 0, right: 0, header: 0, footer: 0 });
  9.          //是否打印控件的外边框
  10.          printInfo.showBorder(false);
  11.          //是否打印网格线(默认打印)
  12.          printInfo.showGridLine(false);
  13.       //  printInfo.headerCenter("&\ "Comic Sans MS"System Information ");
  14.       //  printInfo.footerCenter("&P/&N/&F ");
  15.         printInfo.zoomFactor(0.99);//缩放
  16.         printInfo.qualityFactor(5);//打印的质量因子
  17.          printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);//打印的页面方向。portrait纵 landscape
  18.          printInfo.centering(GC.Spread.Sheets.Print.PrintCentering.horizontal);//打印页面的居中方式。
  19.          printInfo.showColumnHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);//获取或设置是否打印列标题。
  20.          printInfo.showRowHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);
  21.         //设置是否以黑白打印
  22.         printInfo.blackAndWhite(false);
  23.         // 给每个表单循环设置printInfo
  24.         for (var i = 0; i < spread.getSheetCount(); i++) {
  25.             spread.sheets[i].printInfo(printInfo);
  26.         }
复制代码
导出PDF也是一样,可以给表单设置printInfo 来调整导出PDF的大小。
另外附上一篇超详细打印设置博客:SpreadJS 打印相关知识总结

print.zip

2.19 MB, 下载次数: 87

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部