一张标着"草稿"或"内部资料"的表,最怕的不是哪个数字写错,而是这版还没定稿的样子被当成正式件发出去。给整张表盖一层标识,是许多企业交付前的习惯动作:既提醒看的人"这不是最终稿",也让文件的来路可溯。要盖得有效,这层标识通常得压在内容之上——字横贯整张表、浮在数据上方,让人没法忽略。恰恰是"浮在内容之上"这一点,过去不容易做到。
SpreadJS 很早就允许用一张"背景图"来充当这类标识:给工作表铺上图片,作为背景绘制在内容之下。它既能铺满整张表,也能按单张摆放。可背景图始终待在下层,数据、边框、网格线一层层盖在它上面。放"机密"两个字时,字样被数据遮去大半,辨识度远不及真正覆在上面的水印,观感更像一张透出内容的底纹,而不是一眼可辨的警示。V19.2 为背景图补上了这个缺失的自由度:它可以画到内容之上了。标识类的内容从"衬底",变成了名副其实的"覆盖"。
画在下面,还是画在上面
背景图的设置里,新增了一项"绘制顺序",只有两种取值。保持默认时,背景图仍画在内容之下,与以往一致;切换到另一种后,背景图改画在内容之上,覆盖住它经过的单元格。
两种顺序,对应两种用法。画在下面的,是衬底的装饰:淡色的标识沉在数据后头,不抢正文,胜在含蓄。画在上面的,是提醒与警示:一条斜贯全表的"样本""草稿""仅供内部使用",越过数据铺在面上,任何人都绕不开。选择权交还使用者——同一张图,摆在数据前后,传递的分量完全不同。默认值也保留在"内容之下",与既有背景图的行为一致:没有改动过的表打开后仍是老样子,只有显式切到覆盖顺序,图才浮到内容之上。新能力的加入,以不惊动既有表格为前提。
作水印的料
这一层标识到底长什么样,由使用者自己准备的内容决定。它仍是一张背景图,只是多了一种叠放次序;图上写什么字、用什么倾斜角度、配什么透明度,都在制图那一侧完成。压住内容的水印与衬底的底纹,可以取自同一份素材,也可以分别准备。
摆放的方式这次也一并放开了。背景图是平铺、还是只放一张,此前在内部已有支持,V19.2 将其开放给使用者。平铺适合做横贯整表的提示——一处字样接一处字样,把整张表罩在淡淡的标识之下;不重复则适合把一枚徽标、一处版权或一句声明放在表的角落,一次一枚。两种摆法配合上面的两种顺序,几乎能把常见的水印形态都搭出来:角落里一枚压住数据的徽标,或整表平铺的防复印声明。
两两组合,版式其实相当齐整。平铺加覆盖,适合整表的警示——一处声明接一处声明,把表罩住,防复印也防误发;平铺加内容之下,适合一段淡色衬底贯穿全表,不抢正文;单张加覆盖,适合把一枚徽标或一句状态压在某处醒目的位置;单张加内容之下,则是安静待在角落的版权小字。同一份素材,摆在数据前后、排成一排还是一枚,传递出的分寸各不相同,由做模板的人拿捏。
印出去的那一头
水印若只活在屏幕上,意义会打折扣——多数需要标识的文件,最终要打印、转成 PDF 去流转。V19.2 的处理没有把屏幕与纸面分成两套:把背景图置于内容之上后,打印与导出 PDF 时同样会照这个顺序呈现。预览里浮在数据上的"草稿"两个字,落到纸面、进到 PDF 里,依然压在数据上。要打出去的版本与屏幕上看到的,是同一层水印。
这类覆盖对报表一类的内容尤其有分量。报表由模板套上数据生成,常按页交付流转,正式与否的界限本就要靠标识来划:预览或分页预览里若已铺着覆盖水印,打印与导出 PDF 时带出的就是最终交出去的样子,收件人据此一眼分清手上是样本、是审批稿、还是正式版。报表"尚未定稿"的阶段,从此有了一层看得见的标记,不必再靠文件名去区分版本。
与 Excel 之间的区别:Excel 没有"绘制在内容之上"这一概念,导出xlsx时产品会丢弃这个概念,把图作为一张普通背景图随文件带走。文件仍然是完整的,只是水印的层级效果不随文件迁移——这份效果基于产品自身的绘制能力,跨到 Excel 那边便不再成立。使用者在导出前,多半需要自行权衡:要保留覆盖水印,就从打印或 PDF 出口走。这份取舍并不难理解:能带走的,只能是对方也认识的那一层;而对以打印、PDF 为主要交付形态的团队,几乎不受影响。
谁来布置
布置这件事,设计器里已经留好了入口。背景图的平铺方式与绘制顺序,都能在界面里直接设置,不必借助代码。做模板的人在设计器中把水印配好,交付的使用者拿到便带着这套标识,后续维护同样在界面里完成。水印由谁、在哪个环节加上,成为模板制作流程里的一步。
标识也按工作表各铺各的。同一本工作簿里,有的表需要压着"草稿"字样,有的表数据干净、不必多此一举——两者完全可以共存,每张表独立决定自己带不带这层覆盖。需要整簿统一口径时,模板按同样的设置批量铺;需要区别对待时,逐表单独调整也不会互相牵连。水印落在哪张表上,跟数据本身一样,由内容的需要决定。
水印的效力,很大程度在于"常在"。它不需要每一处都醒目,只要让人知道这份文件始终带着归属与状态。覆盖式水印的出现,让整张表的标识从"若有若无的底纹"变成"绕不过去的一层",也让防误发、防误用这件事,在表格这一环多了一道现实的防线。
水印盖在上面,也意味着这张表开始把自己当"成品"来对待——内容与说明同处一页,谁先谁后、谁压着谁,都是一开始就能安排的。能决定水印落在内容之上,表格便不只是录入与编辑的场所,交付出去的样貌同样由它自己说了算。