现有签名问题及优化方案

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

现有签名问题及优化方案

金蝶PLM签名采用了文本换图片或文本换文本(签日期),由于对齐方式使用了左下坐标对齐,需要通过纵横偏移来调整位置,导致签名效果不尽如人意。

同时纵横及比例配置与图幅相关,要是同一个图幅有多个样式签名表格,这种配置方式会有问题。

(下面签名图片中多余的两条黑线为原始签名标签文本实际大小)


签名标签居中对齐,未设置偏移效果

image.webp

签名标签居左对齐,未设置偏移效果

标签居左未设置偏移值.webp


签名标签居左对齐,并设置偏移值效果,偏移值多次尝试才能得到理想效果,居左时偏移后反白区域仍破坏了表格线条

标签居左并设置偏移值.webp


理想的签名效果应该让签名图片与文本中心对齐,签名图片大小由签名文本高度控制,必要时可以在这个基础上添加一个缩放比例,实测1:1效果就很不错。

签名的文本需要添加宽度因子,CAD图中文本很少用宽度为1的字体,否则看上去非常突兀

image.webp


找到问题,下面给出解决方案,要实现中心对齐,需要计算出替换图片的实际宽度,然后将图片向左移动(图片宽度-标签宽度)/2即可。由于程序使用了iTextSharp开源库,要计算PDF中图片实际宽度有一定困难,下面给出一种简单计算方法,我们通过签名文本高度来转换,先将图片高度调整到与签名文本高度一致(经过测试iTextSharp能准确获取文本高宽值),然后通过签名图片原始长宽比就能计算出插入到PDF中图片实际宽度。


通过对签名后PDF进行分析,发现生成的签名图片高度与标签文本高度有一定差异。经过研究发现iTextSharp有提供一个ScaleToFit方法,通过该方法能快速指定插入后图片的高宽值。

image.webp

对于签日期的文本比较好处理,iTextSharp开放的ShowTextAligned方法提供了中心对齐的创建方式,只需要计算出签名文本的中心位置即可。SetHorizontalScaling方法可以设置字体宽度。签名后效果见倒数第二张图。




666


现有签名问题及优化方案

金蝶PLM签名采用了文本换图片或文本换文本(签日期),由于对齐方式使用了左下坐标对齐,需要通过纵横偏移来调整位置,导致签名效果不尽如...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息