原笔迹手写保存生成 svg 数据,并将 svg 保存为 pdf 格式

有个朋友提了一个需求,将签名数据生成 svg 数据,并保存为 pdf,传送到后台。

初步分析了一下,难点在于

  1. svg 的生成
  2. pdf 的生成。

首先对 svg、pdf 的文件格式进入了初步的了解。尝试将笔迹生成 svg 格式,然后再将 svg 转化为 pdf graphic command,再将这些 command 转化为 pdf 文件。

相对之前对 svg 有所涉及,pdf 方面的入门门槛更高一点。好在并不需要实现很复杂的功能。首先通过 mediabox 定义页面的大小,然后通过对颜色配置的学习,实现了对笔迹颜色的支持,最重要的是,用过对 curv path 的格式规范的学习,实现的笔迹笔锋和压感的效果。

最后,让我们来看一下效果(关键是 svg 和 pdf 是矢量图,放大不失真):

原笔迹控件原始效果:

生成的 svg 数据的效果:

生成的 pdf 文件的效果:

几种格式放大后的效果,注意 svg 格式和 pdf 格式生成的矢量图,所以没有失真和锯齿的问题:

png 截图放大效果
svg 放大效果
pdf 放大效果

下一步是优化生成的 svg, pdf 的笔迹效果。

以及支持笔迹与 pdf 的合成,即可以在原始 pdf 上书写,例如电子签名等。

最近太忙,事情太多,希望能抽出时间来完善吧。

《原笔迹手写保存生成 svg 数据,并将 svg 保存为 pdf 格式》上有12条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据