Fiooona 发表于 2020-3-22 22:42:03

打印,导出PDF:如何把表单内容打印/导出到一页A4纸中?

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