彻底攻克Excel/WPS表格打印或转PDF信息丢失问题,附上攻克全过程
WPS催化剂-李伟坚
@KVP
最近遇到的一个小坑,用链接图片完美解决,带文本框的内容,当打印或导出PDF时,文本框的内容会显示不全,没有完全忠于所见即所得的效果。
然后想到使用图片的方式来打印,使用复制为图片(屏幕显示)的功能,出来的图片是栅格化的图片,不是矢量图,放大会模糊。使用选择性粘贴的链接图片(照相机的本质也是这个),再打印这个图片,就完美复刻原始区域效果,文本框也乖乖地显示所有内容了。
更可喜的是转换成PDF后,这个图片仍然是矢量转换的,PDF上可以复制文字,而非一个图片。深入研究了一下它的成因,谜底揭晓了,因为链接图片是一个emf图片,从压缩包解压可以找到,
emf是一个矢量图片,可以在其他软件里完美放大不失真,当然转PDF时,也不失真,并且将原来的文字也转成文字。最后再深挖,其实不需要使用复制=》粘贴为链接图片的方式,也可以将一张普通图片变为链接图片,只需要在编辑栏里输入引用区域,也可以将区域定义名称,引用更方便。
还没完,手动操作可以,那能VBA自动化才是最关键有用。最后发现,只要将任意一张图片,得到它的Shape对象后,在它的DrawingObject对象下,有一个Formula属性,直接赋值它就可以了。对于非图片对象的形状Shape,这个属性将引用单元格的内容作为形状的文本。
@金山办公
@KVP