彻底攻克Excel/WPS表格打印或转PDF信息丢失问题,附上攻克全过程

最近遇到的一个小坑,用链接图片完美解决,带文本框的内容,当打印或导出PDF时,文本框的内容会显示不全,没有完全忠于所见即所得的效果。

然后想到使用图片的方式来打印,使用复制为图片(屏幕显示)的功能,出来的图片是栅格化的图片,不是矢量图,放大会模糊。使用选择性粘贴的链接图片(照相机的本质也是这个),再打印这个图片,就完美复刻原始区域效果,文本框也乖乖地显示所有内容了。

更可喜的是转换成PDF后,这个图片仍然是矢量转换的,PDF上可以复制文字,而非一个图片。深入研究了一下它的成因,谜底揭晓了,因为链接图片是一个emf图片,从压缩包解压可以找到,

emf是一个矢量图片,可以在其他软件里完美放大不失真,当然转PDF时,也不失真,并且将原来的文字也转成文字。最后再深挖,其实不需要使用复制=》粘贴为链接图片的方式,也可以将一张普通图片变为链接图片,只需要在编辑栏里输入引用区域,也可以将区域定义名称,引用更方便。

还没完,手动操作可以,那能VBA自动化才是最关键有用。最后发现,只要将任意一张图片,得到它的Shape对象后,在它的DrawingObject对象下,有一个Formula属性,直接赋值它就可以了。对于非图片对象的形状Shape,这个属性将引用单元格的内容作为形状的文本。

广东省
浏览 91
收藏
9
分享
9 +1
5
+1
全部评论 5
 
学习
· 广东省
回复
 
聂道强

@金山办公

看截图效果,打印显示不全应该是打印机字体的问题
· 广东省
回复
反正Excel/WPS表格,打印或转PDF都丢失内容,不知道底层原因是什么,打印机字体可以设置?
· 广东省
回复
 
支持
· 福建省
回复