『23年02月19日』
『23年02月12日』
HTML转pdf的一种实现方案
几经波折,由厦门辗转到了广州。由于换了新工作,繁忙了些,博客也断更了两个月,今天想把最近两个月做的一些工作整理一下。适当是对过去做一些总结,不管是技术也好,生活也好,既是对发生的事的一些思考,也是未来发展的基石。
刚到新岗位的第一项任务便是实现一个前端 html 转 pdf 的功能,背景是这样的:我司是做健康管理相关的业务的,就有体检报告生成的功能,之前的体检报告一直都是由后端用模版引擎去做渲染,然后再使用 IText去做 html 转 pdf 的实现,由于体检报告中有大量的 ECharts 图表,还需先将图表转成图片,再将图片转为 pdf,这样一来,一份四十几页的团检报告,总的生成时间需要十几分钟,还不方便调试(需前端调好 html 样式,再给后端生成 pdf,再去看最终生成效果)。
总结,主要有两个不好的点:
- 生成效率差,需要十几分钟
- 报告样式不好调
由于我之前使用过 puppeteer 做过自动化测试,是知道 puppeteer 具有这个功能的,原理也挺简单,莫过于就是自动化的去实现浏览器自带的打印功能。
『22年11月19日』
重学数据结构与算法 - 堆排序
『22年10月23日』
重学数据结构与算法 - 图(Dijkstra's algorithm)
『22年10月05日』
重学数据结构与算法 - 图(上)
图是一组由边连接的节点(或顶点)。它有以下几种表示方法:
- 邻接矩阵;
- 邻接表;
- 关联矩阵;
邻接矩阵表示法
- 可以使用二维数组来存储邻接矩阵,数组的下标表示节点,值表示两个节点直接有没边,有边则为 1,否则为 0
- 如果图的边带有权重,则可以把 1 换为权重的值
邻接表表示法
记录每个节点,及其相邻节点的数据结构。可以用字典、对象来存储邻接表
以下,我们使用邻接表法来创建一个图。