使用别人的程序,发现将求职者在线简历,可以生成 PDF 简历,以及简历图片,供求职者下载。
这样,求职者也有兴趣完善自己的在线简历了,可以根据所选的模板,生成各种漂亮的简历,然后下载下来。
公司也打算做一下,这个功能交给同事做了,这里我也稍微了解下。
思考:
生成图片:
后端:我们使用 GD 库、Imagick 等图片库,来通过坐标来生成图片,自己实现相当麻烦!
前端:现在经常使用的是 canvas 绘图,原理和后端基本一样,自己实现也相当麻烦!
后端这边有没有使用过别人的类库,来生成图片,我自己都忘记了...
前端这块,我们项目中目前,倒是生成图片,都使用的 html2canvas,写好 html,直接生成图片(过程中,可能也有点坑,生成高清图等等)
生成 PDF:
对于 PDF,这边也没了解过,肯定是使用别人的库,而且很可能 PHP 是搞不了的,得系统安装其他软件。
项目中,倒是实现了 word 转 pdf,这个用的技术,参考我之前写的博客,做过就忘记了,脑子不好使了都
此外,需要特别注意:
现在前端技术发展的太快,好多好东西,我们后端可能接触的不多,得稍微了解点前端技术!
查找资料:
百度
google
github
packagist.org
...
关键词:
我们首先得明白,在线的这种非常漂亮的简历,实现的最简单过程肯定是:前端写好 HTML 页面,然后通过别人的库,将 HTML 转换为 PDF 或 图片,所以,我们就可以搜索,类似:
使用 PHP 将 HTML 转换为 PDF
使用 PHP 将 HTML 转换为图片
php html to pdf
php html to image
(英文不好,自行翻译)
...
搜索到的几个内容:
knplabs/knp-snappy,基于 wkhtmltox 的 PHP 扩展包
https://laravel-china.org/articles/13472/teach-you-how-to-use-php-to-generate-pdf-and-image-gracefully
提到了 laravel-snappy(也是基于 wkhtmltox), laravel-DOMPDF
https://laravel-china.org/articles/5666/pdf-extended-package-usage
https://github.com/barryvdh/laravel-snappy
注:
laravel-snappy 是对上面的 knplabs/knp-snapp 的 laravel 封装
PHP 文档里的 '非文本内容的 MIME 输出',也提到了 'wkhtmltox',文档里涉及的是 PHP 的扩展包
http://php.net/manual/zh/refs.utilspec.nontext.php
还有提到 PDFKit,是一个用于 Node 和 浏览器的 PDF 文档生成库:
http://pdfkit.org/
这个是将 PDF 转换为 HTML:
https://github.com/coolwanglu/pdf2htmlEX
这个是 github 搜索的,就不一一说明了:
https://github.com/search?o=desc&q=html+to+pdf&s=stars&type=Repositories
发现,搜索到的几个包,用的都是 wkhtmltox,而 wkhtmltox 对于很多的 CSS3 和 HTML5 特性可能不支持,到官方 issues 搜索了下:
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/4092
有人提到了:
Puppeteer - 这个是谷歌团队开发的,用于操作浏览器的,可以在浏览器上做的事情 Puppeteer 都能胜任。
综上所述,我打算使用下:
barryvdh/laravel-snappy
Puppeteer
一次性看来搞不来,分上3篇来写:
barryvdh/laravel-snappy 笔记,参考链接:
https://blog.csdn.net/beyond__devil/article/details/84646559
使用别人的程序,发现将求职者在线简历,可以生成 PDF 简历,以及简历图片,供求职者下载。
这样,求职者也有兴趣完善自己的在线简历了,可以根据所选的模板,生成各种漂亮的简历,然后下载下来。
公司也打算做一下,这个功能交给同事做了,这里我也稍微了解下。
思考:
生成图片:
后端:我们使用 GD 库、Imagick 等图片库,来通过坐标来生成图片,自己实现相当麻烦!
前端:现在经常使用的是 canvas 绘图,原理和后端基本一样,自己实现也相当麻烦!
后端这边有没有使用过别人的类库,来生成图片,我自己都忘记了...
前端这块,我们项目中目前,倒是生成图片,都使用的 html2canvas,写好 html,直接生成图片(过程中,可能也有点坑,生成高清图等等)
生成 PDF:
对于 PDF,这边也没了解过,肯定是使用别人的库,而且很可能 PHP 是搞不了的,得系统安装其他软件。
项目中,倒是实现了 word 转 pdf,这个用的技术,参考我之前写的博客,做过就忘记了,脑子不好使了都
此外,需要特别注意:
现在前端技术发展的太快,好多好东西,我们后端可能接触的不多,得稍微了解点前端技术!
查找资料:
百度
google
github
packagist.org
...
关键词:
我们首先得明白,在线的这种非常漂亮的简历,实现的最简单过程肯定是:前端写好 HTML 页面,然后通过别人的库,将 HTML 转换为 PDF 或 图片,所以,我们就可以搜索,类似:
使用 PHP 将 HTML 转换为 PDF
使用 PHP 将 HTML 转换为图片
php html to pdf
php html to image
(英文不好,自行翻译)
...
搜索到的几个内容:
knplabs/knp-snappy,基于 wkhtmltox 的 PHP 扩展包
https://laravel-china.org/articles/13472/teach-you-how-to-use-php-to-generate-pdf-and-image-gracefully
提到了 laravel-snappy(也是基于 wkhtmltox), laravel-DOMPDF
https://laravel-china.org/articles/5666/pdf-extended-package-usage
https://github.com/barryvdh/laravel-snappy
注:
laravel-snappy 是对上面的 knplabs/knp-snapp 的 laravel 封装
PHP 文档里的 '非文本内容的 MIME 输出',也提到了 'wkhtmltox',文档里涉及的是 PHP 的扩展包
http://php.net/manual/zh/refs.utilspec.nontext.php
还有提到 PDFKit,是一个用于 Node 和 浏览器的 PDF 文档生成库:
http://pdfkit.org/
这个是将 PDF 转换为 HTML:
https://github.com/coolwanglu/pdf2htmlEX
这个是 github 搜索的,就不一一说明了:
https://github.com/search?o=desc&q=html+to+pdf&s=stars&type=Repositories
发现,搜索到的几个包,用的都是 wkhtmltox,而 wkhtmltox 对于很多的 CSS3 和 HTML5 特性可能不支持,到官方 issues 搜索了下:
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/4092
有人提到了:
Puppeteer - 这个是谷歌团队开发的,用于操作浏览器的,可以在浏览器上做的事情 Puppeteer 都能胜任。
综上所述,我打算使用下:
barryvdh/laravel-snappy
Puppeteer
一次性看来搞不来,分上3篇来写:
barryvdh/laravel-snappy 笔记,参考链接:
https://blog.csdn.net/beyond__devil/article/details/84646559
Puppeteer 参考链接:
https://blog.csdn.net/beyond__devil/article/details/84660702