创作背景:
《Last christmas》是英国双人流行音乐组合威猛乐队(Wham!)在1984年12月发行的一首圣诞歌曲,它描述了一个人过圣诞节时的感受。
现已经成为每年圣诞节街头店家还有各大电台必播的应景歌。有超过两百多位(组)不同曲风甚至不同国家的艺人翻唱过这首歌。功能参考:
数科网维公司体验网址 http://fapiao.suwell.cn/#public
利用以下三个开源项目,用Eclipse + Tomcat9 搭建Servlet开发环境,实现以上基本功能,同时实现一键在线预览PDF文档功能。
1.https://github.com/DLTech21/ofd.js 100+颗星
基于Javascript脚本来解析ofd文件,并利用HTML5中的svg和canvas画布渲染到浏览器;具体来说:
1.1将ofd发票解压后得到的xml文件(例如original_invoice.xml等),转换为H5中的SVG可伸缩矢量图形 (Scalable Vector Graphics)元素。
1.2将ofd发票解压后得到的印章图片文件(例如image_102.jb2),解码并转换为H5中的canvas 画布元素。
Canvas 和 SVG 都允许在浏览器中创建图形,但是它们在根本上是不同的。
SVG
SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
Canvas
Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
Canvas 与 SVG 的比较
下表列出了 canvas 与 SVG 之间的一些不同之处。