跳到主要内容

Word打印模板中选项、图片和关联记录设计细则


在如何制作Word打印模板中,我们学会一般的打印方法,本文再进一步介绍打印时的解析规则细节。

1、单选、多选字段打印未选中选项

平铺类型的单选和多选字段如需打印未选中的选项,可在字段代码或ID/别名后加“_Alloptions”,

例如:#{保密级别_Alloptions} ,打印效果:

2、图片的打印规则

2.1图片的宽度和高度设置

本记录中的图片支持打印,图片支持设定宽度和高度。

如上图中的附件字段代码 #{附件$[90\*auto]$} 中,[90*auto]表示的是[宽度*高度]

图片的4种配置方式:

  • 宽度固定、高度自适应#{附件$[90\*auto]$}
    表示图片的宽度固定90,高度自适应。90是默认数字,可以自定义。

  • 宽度自适应、高度固定#{附件$[auto\*80]$} 表示图片的宽度自适应,高度固定80,数字可以自定义。

  • 宽度固定、高度固定#{附件$[70\*90]$}
    表示图片的高度固定为70,高度固定为90, 数字可以自定义。

  • 固定范围内宽和高自适应#{附件$[45\*90_auto]$}
    表示图片在45*90的范围内自适应显示,数字可以自定义。

[]宽度和高度至少指定一个范围,例如 #{附件$[auto\*auto]$} 这种格式是不支持的。

2.2图片的质量设置

为了满足不同场景对图片清晰度的要求,现支持Word模板图片解析为低、中、高三种图片质量。

  • 低(L)——对应图片分辨率75,按照X3的倍数取图片的宽和高;生成速度快,用于一般打印。

  • 中(M)——对应图片分辨率150,按照X6的倍数取图片的宽和高;生成速度适中,打印较清晰。

  • 高(H)——对应图片分辨率300,按照X12的倍数取图片的宽和高;生成速度慢,用于高质量彩色打印。

字段代码示例:

\#{附件$[auto\*90\_M]$}#{附件$[auto\*90\_H]$}#{附件$[45\*90\_auto\_H]$}

  • 1、不添加图片质量标签,表示默认按照质量的方式解析图片。

  • 2、为了保证解析的图片不会比原图大,故需要将转换后的图片尺寸与原图做对比,若转换后的图片比原图大,则返回原图。

3、字段的二维码条形码打印

可通过代码获取任意字段的二维码或条形码,字段代码如下:

  • 二维码:#{[qrcode]字段名$[20*20]$}
  • 条形码:#{[barcode]字段名$[40*10]$}

代码中,字段名可以使用字段ID,图片大小的数字可以调整,其他内容和符合不能修改。

二维码编码方式:QR-code,最大包含150个字(支持汉字);条形码编码方式:code128,最大包含30个字符(仅支持数字、字母、符号)。

代码示例和效果:

几个系统字段的字段ID

  • 公开分享链接: sharelink
  • 内部访问链接:privatelink
  • 记录ID:recordid

4、子表和关联表(多条)的几种打印方式

方式1、显示方式为列表时

默认以表格方式按照记录顺序逐行向下列出所有记录的字段值(包括空值)

示例1: 有张固定格式的采购单上面的采购明细是一个采购清单需要一条条列出来

模板设计范例:

打印效果范例:

明细表中的序号

明细表中,需要使用到Word的功能,Word里可以设置序号的样式。

合并相同单元格

当同列的上下单元格内容相同时,可以合并单元格。

合并上下单元格的字段代码写法:

#{子表名.字段名[M]}

只需在原字段代码的字段名和大括号之间写个[M]即可。

如下图:

效果:

以下情况不会合并单元格

单价列设置了可合并,上下单元格都是2000,并没有全部合并。这是因为前一列(SKU)也是设置了和并列,如果前一列(sku列)值不同没有合并,当前列(单价列)也不合并。

方式2、逐条打印(平铺打印)

如果需要将关联记录(列表)中 每一条记录作为一个整体依次逐条打印,可在模板中插入以下代码用于识别哪一块的内容需要进行逐条打印。

关联表.整体重复       

此代码是关联表字段整体重复的开始标识,该代码作为单独一行插入模板中(只能插入在表格的上方,且代码和表格之间没有任何其他内容),表示紧挨着该代码的表格里面关联表的每一条记录作为一个整体依次逐条打印直到关联表字段所有的值(包括空值)都列出,导出/打印时,该代码不显示。

例如:采购单中,将每一条采购明细单独打印。

模板范例:

打印范例:

方式3、拼接打印

此方式会将同一个字段的所有值拼接在一起,用逗号隔开。

模板范例:

只需要在字段代码的最后一个大括号前加上 [S]即可识别。 英文的[],大写的S。

子表或关联表为空时不打印

如需不打印没有数据的关联表/子表,请将代码两个代码标签:#NoDataNotPrint[start]##NoDataNotPrint[end]# 插入到模板中,代码之间的关联记录/子表没有数据则不会打印,如下图配置:

当关联表有数据时:

当关联表无数据时:

如果无数据的开始标签和结束标签之间有多个子表/关联表,只要有一个子表/关联表有数据,无数据的子表/关联表也会打印。因此建议一个子表/关联表单独配置一组标签。

5.发起审批流程的审批明细打印

在本表的字段代码表会自动生成审批字段的代码。

发起审批明细和关联表、子表打印方式相同。只是逐条打印时的头部声明代码需要写为

#审批.整体重复# ,具体规则请参考第3点,子表的的打印配置。

6.打印时间

打印时间需要实时更新,而工作表中没有一个实时更新的时间字段。因此需要借助Word自身的功能

  • 点击需要打印的位置

  • 顶部工具栏依次选择 插入 > 日期 ,选择格式后并勾选自动更新(日期和时间选择两次)

保存后,多次打开关闭模板文件,看是否打印时间会变。如果自动更新则配置成功,上传模板即可。

7.批量打印

批量打印的常见问题,点此查看


文档问题反馈

文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧