打印,导出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]