Skip to content

puppeteer 网页截图

以往都是怎么生成海报的?

在开发中经常会遇到「生成海报长图」的需求,一般都是这么做的:

  • 后端生成:引入会图库进行绘制
  • 前端生成:用原生 canvas 进行绘制、用一些 js 库(html-to-canvas)

这么用过来的体验就是:无论是谁生成,都会遇到海报上各个元素的定位困难、样式还原的困难、动态内容和动态海报尺寸不好把控等问题。

因此,经过一波探索,接触了puppeteer这个「高级货!」,用完之后,简直有种相见恨晚的感觉!

所以现在要想生成一个复杂的海报或者长图的流程变成了这样:

  • 编写海报承载 web 页面
  • 调用 puppeteer 截图服务,对 web 页面进行截图,并返回图片或者图片地址给调用者

直接看我的公众号文章吧!

Released under the MIT License.