关于golang:一个基于-wkhtmltox-实现的开箱即用的-http-服务帮助服务端快速生成-pdfimage

47次阅读

共计 908 个字符,预计需要花费 3 分钟才能阅读完成。

前情提要

工作中有个我的项目须要将 html 转成 pdf,那时候用的是 dompdf/dompdf。前面又来了个需要,须要将 html 转成 image。起初去找了下发现 wkhtmltopdf 既能够生成 pdf 又能够生成 html。立马叫苦不迭地折腾起来。

不可否认 wkhtmltopdfwkhtmltoimage 可能不是一个最好的抉择,毕竟谷歌的 Puppeteer 都比它厉害得多。但它作为一个 cli 软件,能够疾速带咱们实现咱们想要的。

另外你可能会问为什么不必第三方包呢。因为工作中的我的项目部署在 docker 上,根底镜像用的是 alpine,这可能会给咱们后续操作带来不可预知的问题。再加上后续可能会有多个我的项目一起应用这项服务,所以目前是用 go 将其包装成一个 HTTP 服务,供所有我的项目拜访调用。

我的项目地址:OverNaive/Html2X,以下其实是 README 文档。

简短介绍

Html2X 是一个基于 wkhtmltox 实现的开箱即用的 http 服务,帮忙服务端疾速生成 pdf/image。

我的项目目标

1. 以 http 服务代替第三方包,与业务零碎解耦,可独立更新;
2. 将 wkhtmltox 的装置封装于 Docker 内,可疾速更新版本;
3. 间接拉取镜像即可疾速实现部署,真正的开箱即用。

如何应用

请先自行装置好 Docker

1. 获取镜像

  • 本地构建镜像:docker build -t overnaive/html2x
  • 近程拉取镜像:docker pull overnaive/html2x

2. 运行镜像

应用命令:docker run --name html2x -p 8080:8888 -it -d overnaive/html2x,即可运行一个容器。

此时,一个 http 服务已运行。

API 文档

请至 API for Html2X 查看。

相干文档

  • Docker 学习材料:Docker —— 从入门到实际
  • wkhtmltopdf 阐明文档
  • wkhtmltoimage 阐明文档

更新打算

打算应用 gin 来实现参数验证、鉴权、限流等简单逻辑。

收费服务

如果你对 Docker 尚未理解,但又想疾速应用;抑或你仅仅只想体验一下。

这里提供一个曾经部署好的收费服务,请至 收费的 Html2X 服务 查看。

License

MIT

正文完
 0