打印模板
# FastWeb打印模板设计(WEB)
- 适用平台: WEB(桌面)
提示
打印模板的设计模板界面仅支持简体中文显示。默认示例中的打印模板使用简体中文字符集,在其他语言环境下显示可能存在乱码。
FastWeb中引入了简易打印模板,可在网页端设计所需的打印格式并导入数据打印。本文档将带你了解打印模板的内容。如有复杂报表的打印内容,请使用Flying进行表格制作。
# 1. 创建打印模板
在主页面下,点击左侧菜单栏中的[系统管理]-[打印模板]
,打开打印模板
界面,该界面下展示当前系统中使用的所有打印模板。

点击[添加]
按钮,新增打印模板,在模板名称
处填写打印模板名称。打印数据
处暂时不用填写内容,填写完成后点击[保存]
。

在打印模板
表格中选择刚才创建的模板,点击[设计模板]
进入到设计模板界面。

# 2. 设计模板
本小节主要介绍该打印模板设计窗口中使用到的内容。其主要的区域如下图所示。

①:模板区,其中包含打印模板的元素内容。
②:菜单区,包含页面设置以及模板操作的内容。
③:页面区,页面设计的主要区域。
④:属性区,元素属性显示区,可在该界面中对元素属性进行修改,属性表的末尾为[确定]
与[删除]
按钮,分别用作保存元素属性与删除选择的元素。
# 2.1. 菜单
A3、A4、A5、B3、B4、B5: 固定的页面尺寸格式,点击可将模板更改为对应的尺寸。
宽/mm: 设置自定义宽时填写的数值。
高/mm: 设置自定义高时填写的数值。
自定义: 当在宽与高处填写数值时,点击该按钮可设置模板为自定义的宽高。
旋转: 将页面的宽与高相互替换。
清空: 将页面中的元素删除恢复至空白页面的状态。
预览: 执行预览,显示打印页面的效果。
打印: 调用浏览器的打印功能,执行页面打印。
导出PDF: 将打印的页面输出为PDF。
保存模板: 将设计的打印模板数据保存至对应的打印模板中。
# 2.2. 模板对象
模板对象包括页面面板以及其中的元素对象。
# 2.2.1. 面板
面板中主要包含以下属性:
名称 | 类型 | 描述 |
---|---|---|
打印规则(panelPaperRule) | string | 面板打印纸张规则保持奇数(odd) :打印纸张保持奇数保持偶数(even) :打印纸张保持偶数 |
首页页尾(firstPaperFooter) | number | 首页页尾线位置 |
偶数页页尾(evenPaperFooter) | number | 偶数页页尾线位置 |
奇数页页尾(oddPaperFooter) | number | 奇数页页尾线位置 |
尾页页尾(lastPaperFooter) | number | 尾页页尾线位置 |
左偏移(leftOffset) | number | 打印左偏移量,-1 将覆盖面板的左偏移 |
顶部偏移(topOffset) | number | 打印顶部偏移量,-1 将覆盖面板的右偏移 |
字体(fontFamily) | string | 文本字体,默认为宋体 |
纸张方向(仅自定义纸质有效) | string | 设定自定义纸张的方向 |
页码格式 | string | 设定纸张页码的显示格式 |
# 2.2.2. 文本
普通文本分为3种类型:文本类型、条形码类型、二维码类型。
名称 | 类型 | 描述 |
---|---|---|
标题(title) | string | 标题或内容field 存在:title 为标题,打印结果为 title:data field 不存在:title 为内容,打印结果为title |
字段(field) | string | 字段名称 |
测试数据(testData) | string | 测试数据,打印设计时 作为data,预览或打印时被真实数据替换 |
字体(fontFamily) | string | 文本字体,默认为宋体 |
字体大小(fontSize) | number | 字体大小,默认为9pt |
字体粗细(fontWeight) | string | 字体粗细 |
字间距(letterSpacing) | number | 字间距 |
字体颜色(color) | number | 字体颜色 |
文本修饰(textDecoration) | string | 文本修饰内容 |
左右对齐(horizontalAlign) | string | 设置文本的水平对齐方式 |
上下对齐(verticalAlign) | string | 设置文本的垂直对齐方式 |
字体行高(lineHeight) | number | 设置行高,默认值为9.75pt |
打印类型(textType) | string | 设置文本类型文本 (text),条形码 (barcode),二维码 (qrcode) ,默认为文本 |
条形码格式(barcodeMode) | string | 设置条形码的编码格式 |
隐藏显示标题(hideTitle) | boolean | 隐藏标题,默认为false |
显示规则(showInPage) | string | 显示规则仅页眉页尾元素或位置固定固定有效 |
隐藏规则(hideInPage) | string | 隐藏规则仅页眉页尾元素或位置固定固定有效 |
位置固定(fixed) | boolean | 位置固定 每页打印到指定位置 位置固定的元素脱离正常的打印流,让不在页眉页脚范围内的元素拥有每页输出的特性。 与面板指定页页尾线设置功能 相互协作 可以设置指定页 不同的页尾信息展示。 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
旋转角度(transform) | number | 旋转角度 |
左边框 | string | 设置文本左边框显示样式 |
上边框 | string | 设置文本上边框显示样式 |
右边框 | string | 设置文本右边框显示样式 |
下边框 | string | 设置文本下边框显示样式 |
边框大小 | number | 设置边框显示时的默认大小 |
边框颜色 | number | 设置边框的颜色 |
左内边距 | number | 文本内容与左边框的距离 |
上内边距 | number | 文本内容与上边框的距离 |
右内边距 | number | 文本内容与右边框的距离 |
下内边距 | number | 文本内容与下边框的距离 |
背景颜色 | number | 设置文本的背景颜色 |
# 2.2.3. 图片
名称 | 类型 | 描述 |
---|---|---|
标题(title) | string | 标题或内容field 存在:title 为标题,打印结果为 title:data field 不存在:title 为内容,打印结果为title |
字段(field) | string | 字段名称 |
图片地址(src) | string | 当字段不存在的情况下,显示该地址指定的内容 |
显示规则(showInPage) | string | 显示规则仅页眉页尾元素或位置固定固定有效 |
位置固定(fixed) | boolean | 位置固定 每页打印到指定位置 位置固定的元素脱离正常的打印流,让不在页眉页脚范围内的元素拥有每页输出的特性。 与面板指定页页尾线设置功能 相互协作 可以设置指定页 不同的页尾信息展示。 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
旋转角度(transform) | number | 旋转角度 |
# 2.2.4. 长文
长文本和文本的区别是长文本的边框会随着文本数据的长度变大,打印高度不断变高,高度过高则自动分页,长文本下方元素同步下移和长文本保持设定好的边距,文本类型:定高定宽,打印区域不变。不会对其他打印元素造成影响。
名称 | 类型 | 描述 |
---|---|---|
标题(title) | string | 标题或内容field 存在:title 为标题,打印结果为 title:data field 不存在:title 为内容,打印结果为title |
字段(field) | string | 字段名称 |
测试数据(testData) | string | 测试数据,打印设计时 作为data,预览或打印时被真实数据替换 |
字体(fontFamily) | string | 文本字体,默认为宋体 |
字体大小(fontSize) | number | 字体大小,默认为9pt |
字体粗细(fontWeight) | string | 字体粗细 |
字间距(letterSpacing) | number | 字间距 |
字体颜色(color) | number | 字体颜色 |
左右对齐(horizontalAlign) | string | 设置文本的水平对齐方式 |
字体行高(lineHeight) | number | 设置行高,默认值为9.75pt |
标题显示隐藏(hideTitle) | boolean | 隐藏标题,默认为false |
每行缩进(longTextIndent) | number | 设置每行缩进的量 |
移除段落左侧空白(leftSpaceRemoved) | boolean | 移除段落左侧空白符 |
显示规则(showInPage) | string | 显示规则仅页眉页尾元素或位置固定固定有效 |
隐藏规则(hideInPage) | string | 隐藏规则仅页眉页尾元素或位置固定固定有效 |
位置固定(fixed) | boolean | 位置固定 每页打印到指定位置 位置固定的元素脱离正常的打印流,让不在页眉页脚范围内的元素拥有每页输出的特性。 与面板指定页页尾线设置功能 相互协作 可以设置指定页 不同的页尾信息展示。 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
最低高度(lHeight) | number | 当长文本或表格数据过少或为空,元素高度将是他们占用的实际高度,下方元素保持原有间距。可以设置元素属性来设置元素显示的最小高度。 |
旋转角度(transform) | number | 旋转角度 |
左边框 | string | 设置文本左边框显示样式 |
上边框 | string | 设置文本上边框显示样式 |
右边框 | string | 设置文本右边框显示样式 |
下边框 | string | 设置文本下边框显示样式 |
边框大小 | number | 设置边框显示时的默认大小 |
边框颜色 | number | 设置边框的颜色 |
左内边距 | number | 文本内容与左边框的距离 |
上内边距 | number | 文本内容与上边框的距离 |
右内边距 | number | 文本内容与右边框的距离 |
下内边距 | number | 文本内容与下边框的距离 |
背景颜色 | number | 设置文本的背景颜色 |
# 2.2.5. 表格
表格支持自定义功能,在表格头部右键点击可唤出菜单,进行表格行列的自定义操作。

在表格头部双击,可对表格列标题以及对应显示的字段内容进行定义。其格式为表格列名称#字段名称
。
名称 | 类型 | 描述 |
---|---|---|
字段(field) | string | 字段名称 |
字体(fontFamily) | string | 文本字体,默认为宋体 |
字体大小(fontSize) | number | 字体大小,默认为9pt |
左右对齐(textAlign) | string | 设置对齐方式 |
表格边框(tableBorder) | string | 设置是否显示表格边框 |
表头边框(tableHeaderBorder) | string | 设置表头边框 |
表头单元格边框(tableHeaderCellBorder) | string | 设置表格头单元格边框 |
表头行高(tableHeaderRowHeight) | number | 表头高度,单位为pt |
表头字体大小(tableHeaderFontSize) | number | 表头字体大小 |
表头字体粗细(tableHeaderFontWeight) | string | 表头字体粗细 |
表头背景(tableHeaderBackground) | string | 表头背景颜色 |
表体行高(tableBodyRowHeight) | number | 设置表体的行高 |
表体行边框(tableBodyRowBorder) | string | 设置表体的行边框 |
单元格边框(tableBodyCellBorder) | string | 设置表体的单元格边框 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
最低高度(lHeight) | number | 当长文本或表格数据过少或为空,元素高度将是他们占用的实际高度,下方元素保持原有间距。可以设置元素属性来设置元素显示的最小高度。 |
自动补全 | string | 是否设置表格的自动补全功能 |
表格脚显示 | string | 设置表格脚显示的样式 |
# 2.2.6. 横线
名称 | 类型 | 描述 |
---|---|---|
边框颜色(borderColor) | string | 边框颜色(可空) |
边框大小(borderWidth) | string | 边框大小(可空) |
显示规则(showInPage) | string | 显示规则仅页眉页尾元素或位置固定固定有效 |
位置固定(fixed) | boolean | 位置固定 每页打印到指定位置 位置固定的元素脱离正常的打印流,让不在页眉页脚范围内的元素拥有每页输出的特性。 与面板指定页页尾线设置功能 相互协作 可以设置指定页 不同的页尾信息展示。 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
旋转角度(transform) | number | 旋转角度 |
边框样式(borderStyle) | string | 设置边框样式 |
# 2.2.7. 竖线
名称 | 类型 | 描述 |
---|---|---|
边框颜色(borderColor) | string | 边框颜色(可空) |
边框大小(borderWidth) | string | 边框大小(可空) |
显示规则(showInPage) | string | 显示规则仅页眉页尾元素或位置固定固定有效 |
位置固定(fixed) | boolean | 位置固定 每页打印到指定位置 位置固定的元素脱离正常的打印流,让不在页眉页脚范围内的元素拥有每页输出的特性。 与面板指定页页尾线设置功能 相互协作 可以设置指定页 不同的页尾信息展示。 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
旋转角度(transform) | number | 旋转角度 |
边框样式(borderStyle) | string | 设置边框样式 |
# 2.2.8. 矩形
名称 | 类型 | 描述 |
---|---|---|
边框颜色(borderColor) | string | 边框颜色(可空) |
边框大小(borderWidth) | string | 边框大小(可空) |
显示规则(showInPage) | string | 显示规则仅页眉页尾元素或位置固定固定有效 |
位置固定(fixed) | boolean | 位置固定 每页打印到指定位置 位置固定的元素脱离正常的打印流,让不在页眉页脚范围内的元素拥有每页输出的特性。 与面板指定页页尾线设置功能 相互协作 可以设置指定页 不同的页尾信息展示。 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
旋转角度(transform) | number | 旋转角度 |
边框样式(borderStyle) | string | 设置边框样式 |
# 2.2.9. 椭圆
名称 | 类型 | 描述 |
---|---|---|
边框颜色(borderColor) | string | 边框颜色(可空) |
边框大小(borderWidth) | string | 边框大小(可空) |
显示规则(showInPage) | string | 显示规则仅页眉页尾元素或位置固定固定有效 |
位置固定(fixed) | boolean | 位置固定 每页打印到指定位置 位置固定的元素脱离正常的打印流,让不在页眉页脚范围内的元素拥有每页输出的特性。 与面板指定页页尾线设置功能 相互协作 可以设置指定页 不同的页尾信息展示。 |
拖动方向(axis) | string | 打印设计时拖拽方向 |
旋转角度(transform) | number | 旋转角度 |
边框样式(borderStyle) | string | 设置边框样式 |
# 2.2.10. 页码
页码位于面板中,在打印设计时双击页码区域可启用或者禁用页码显示。其中页码的显示格式可以在面板的页码格式
属性中进行修改。默认格式为pageNo-pageCount
。
# 2.2.11. 页眉
在打印设计界面下,拖拽页首的位置可引出页眉线,在设计中可通过拖拽页眉线来改变页眉线所在的位置。
# 2.2.12. 页脚
在打印设计界面下,拖拽页脚的位置可引出页脚线,在设计中可通过拖拽页脚线来改变页脚线所在的位置。
# 3. 引入数据
打印模板设计完成后,需要在其中导入打印的数据。打印数据的样例格式如下。数据以JSON格式组装。
var printData = {
company:'中国XXX科技有限公司',
address:'浙江省嘉兴市XX区XX路XX号人才中心2楼888号',
telphone:'18888888888',
total:'1000',
amount:'100000',
table:[{
MeterCode:'214',
MeterName:'二分厂 动力电(油烟机)',
MeterLevel:'2',
MeterType:'电表',
EnergyType:'动力电',
Dept:'二分厂',
Location:'',
Provider:'',
Spec:'',
CommType:'RS485',
SerialPort:'',
SerialServer:'192.168.6.11',
Address:'',
Interval:'30000',
Ratio:'1',
BaudRate:'9600',
StopBits:'1',
DataBits:'8',
Parity:'无',
Note:'',
IsUse:'True',
},{
MeterCode:'215',
MeterName:'二分厂 动力电(染缸7号)',
MeterLevel:'2',
MeterType:'电表',
EnergyType:'动力电',
Dept:'二分厂',
Location:'染色车间',
Provider:'',
Spec:'',
CommType:'RS485',
SerialPort:'',
SerialServer:'192.168.6.11',
Address:'',
Interval:'30000',
Ratio:'1',
BaudRate:'9600',
StopBits:'1',
DataBits:'8',
Parity:'无',
Note:'',
IsUse:'True',
}]};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
对于非表格类型的基本数据,其样式如下。
var printData = {
company:'中国XXX科技有限公司',
address:'浙江省嘉兴市XX区XX路XX号人才中心2楼888号'
}
2
3
4
其中的company
和address
与打印模板设计时元素的字段名称
属性对应,JSON中的取值会对应显示为打印模板中绑定元素的输出结果。
表格类型的基本数据元素格式如下。其中的table
对应为表格绑定的字段名称。如有多个表格,则可自行定义表格字段的名称,并在JSON中引入该字段名称进行数据绑定。
var printData = {
table:[{
MeterCode:'214',
MeterName:'二分厂 动力电(油烟机)',
MeterLevel:'2',
MeterType:'电表',
EnergyType:'动力电',
Dept:'二分厂',
Location:'',
Provider:'',
Spec:'',
CommType:'RS485',
SerialPort:'',
SerialServer:'192.168.6.11',
Address:'',
Interval:'30000',
Ratio:'1',
BaudRate:'9600',
StopBits:'1',
DataBits:'8',
Parity:'无',
Note:'',
IsUse:'True'
},{
MeterCode:'215',
MeterName:'二分厂 动力电(染缸7号)',
MeterLevel:'2',
MeterType:'电表',
EnergyType:'动力电',
Dept:'二分厂',
Location:'染色车间',
Provider:'',
Spec:'',
CommType:'RS485',
SerialPort:'',
SerialServer:'192.168.6.11',
Address:'',
Interval:'30000',
Ratio:'1',
BaudRate:'9600',
StopBits:'1',
DataBits:'8',
Parity:'无',
Note:'',
IsUse:'True'
}]
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 4. 在程序中使用数据
在程序设计界面中引入打印的相关函数,勾选Print
单元。其中包含几个基本的函数。
CreatePrintDataJson
可以把数据集中的数据转换为适用于表格的数据格式。
PrintPreview
用于输出打印数据并执行打印操作(打印预览,直接打印等)。
//JScript
//将数据传递至名称为仪表资料的打印模板中并执行直接打印操作
PrintPreview("仪表资料",PrintData,1);
//将数据传递至名称为仪表资料的打印模板中并执行打印预览操作
PrintPreview("仪表资料",PrintData,0);
2
3
4
5
//PasScript
//将数据传递至名称为仪表资料的打印模板中并执行直接打印操作
PrintPreview('仪表资料',PrintData,1);
//将数据传递至名称为仪表资料的打印模板中并执行打印预览操作
PrintPreview('仪表资料',PrintData);
2
3
4
5
// Make sure to add code blocks to your code group
一个典型的打印操作程序如下:
//JScript
function btPrintOnClick(sender)
{
var printData;
PrintData = "var printData = { "+#13+
"company:'中国XXXX有限公司',"+#13+
"address:'XXXX',"+#13+
"telphone:'18888888888',"+#13+
"table:"+CreatePrintDataJson(dtsMeter)+"};";
PrintPreview("仪表资料",PrintData,1);
}
2
3
4
5
6
7
8
9
10
11
//PasScript
procedure btPrintOnClick(sender: tobject);
Var
printData:String;
begin
PrintData := 'var printData = { '+#13+
'company:''中国XXXX有限公司'','+#13+
'address:''XXXX'','+#13+
'telphone:''18888888888'','+#13+
'table:'+CreatePrintDataJson(dtsMeter)+'};';
PrintPreview('仪表资料',PrintData,1);
end;
2
3
4
5
6
7
8
9
10
11
12
// Make sure to add code blocks to your code group