设计器(designer)添加打印分页预览线
在Excel中,打印时会有预览打印分页线的功能,使用户可以及时看到分页结果,并进行调整。目前设计器(designer)并没有内置这一操作按钮,本文会详细介绍如何在designer上添加打印分页线。SpreadJS设置打印分页线的API为:
sheet.isPrintLineVisible(true)结合该API和自定义designer的方法,就可以完成在designer上添加打印分页预览线的功能了。
Step1: 创建designer;
let designer = new GC.Spread.Sheets.Designer.Designer("designer-container")Step2:获取designer默认的config信息:
let config = GC.Spread.Sheets.Designer.DefaultConfig
Step3: 添加“自定义操作”Tab,在该Tab下添加"打印分页线"功能;
let customeRibbon = {
"id": "operate",
"text":"自定义操作",
"buttonGroups":[
{
"label": "打印设置",
"commandGroup":{
"children":[
{
"direction": "vertical",
"commands":[
"showHidePrintLine"
]
}
]
}
}
]
}Step4:定义Step3中定义的按钮调用命令的逻辑;
letcustomeRibbonCommand = {
"showHidePrintLine":{
text: "分页预览线",
type: "checkbox",
commandName: "showHidePrintLine",
execute: async(context) => {
let sheet = context.getWorkbook().getActiveSheet()
let isVisible = sheet.isPrintLineVisible()
sheet.isPrintLineVisible(!isVisible)
},
getState: (context) => {
let sheet = context.getWorkbook().getActiveSheet()
return sheet.isPrintLineVisible()
}
}
}Step5:将定义好的命令逻辑添加到config.commandMap中;
config中新增的自定义命令都定义在config.commandMap中,初始时可以给其赋值一个空对象,之后将新定义的command与config.commandMap做合并。
config.commandMap = {}
Object.assign(config.commandMap,customeRibbonCommand)Step6:将自定义的ribbon添加到designer的Ribbon集中;
config.ribbon.push(customeRibbon)Step7:将新的config信息赋给当前designer;
designer.setConfig(config) 以上所有操作完成之后,就可以看到,当前designer中多出了一个“自定义操作”的Tab,该Tab下会有“打印分页线”的选项功能。
演示demo地址:https://jscodemine.grapecity.com/share/C2NYV9QLE0SmTaPBGhaLTg/
由于demo平台地址部署在国外,打开时间可能会久一些,请耐心等待哦~
页:
[1]