有个朋友提了一个需求,将签名数据生成 svg 数据,并保存为 pdf,传送到后台。
初步分析了一下,难点在于
- svg 的生成
- pdf 的生成。
首先对 svg、pdf 的文件格式进入了初步的了解。尝试将笔迹生成 svg 格式,然后再将 svg 转化为 pdf graphic command,再将这些 command 转化为 pdf 文件。
相对之前对 svg 有所涉及,pdf 方面的入门门槛更高一点。好在并不需要实现很复杂的功能。首先通过 mediabox 定义页面的大小,然后通过对颜色配置的学习,实现了对笔迹颜色的支持,最重要的是,用过对 curv path 的格式规范的学习,实现的笔迹笔锋和压感的效果。
最后,让我们来看一下效果(关键是 svg 和 pdf 是矢量图,放大不失真):
原笔迹控件原始效果:
生成的 svg 数据的效果:
继续阅读原笔迹手写保存生成 svg 数据,并将 svg 保存为 pdf 格式