介绍一款自己开发的一款简历编辑器工具

离线编辑,web操作界面,不存储数据,隐私性好,可导出pdf

Posted by Gjx on 2024-04-10

简介

某天在微信群里看到一个在线简历工具,觉得挺美观实用的,他的功能主要包括:在线简历编辑、在线简历分享、简历导出,还有很多的简历编制的方法论,考虑到他的数据是要存储在自己的服务器上的,不太隐私,所以我决定搞一款离线的,不存储简历数据的简历制作工具。

于是有了下面的作品:在线简历设计器

功能主要有:

  • 简历编辑
  • 简历保存到浏览器缓存
  • 简历缓存清理
  • 简历预览
  • 简历pdf下载

技术栈:

  • vue3
  • element-plus
  • sortablejs
  • pinia
  • vite
  • vue-quill

如果想要实现在线简历,只能拿到代码私有化部署在自己的服务器上,我还没有想明白怎么保证在线简历的隐私性,所以暂时没有在这方面做过多的开发。

简历编辑
简历编辑包含必填的几个内容:基础信息、工作经历、专业经历、教育经历,以及其他可以自定扩展的模块,扩展的模块有三类:只有一个描述的模块、多行内容的模块、标签模块。

在基础信息模块中,可以补充自己的个人网站、github等信息,作为一个展示面给到面试官,相信是一个不错的展示个人实力的方式。

下面是三类扩展模块的截图

只有一个描述的模块

image.png

多行内容的模块

image.png

标签模块

image.png

简历保存到浏览器缓存

image.png
image.png

简历缓存清理

就是删除浏览器本地缓存中的数据,可以参考上面保存成功后的截图做对比。

简历预览

简历预览和简历下载pdf是配合使用的,下载其实就是对预览界面的打印,当然这里做了对打印样式的适配。

image.png

简历下载pdf

这里主要是调用浏览器的打印功能来进行pdf的生成,此时对操作按钮设置了样式,他会在打印时被隐藏掉。做下载功能的时候也进行了调研,很多方案要么是要借助后端实现,要么是把界面通过canvas转为图片然后合成pdf,找到一个还不错的方式是在后端使用Puppeteer来生成pdf,原理就是控制Chromium生成pdf,这样的话就比较麻烦,所以还是直接用浏览器打印比较方便,当然这可能会导致不同浏览器的效果不一样的问题。

image.png