![]() | 1 jdhao 2021-07-16 13:25:43 +08:00 via Android 想把 html 源码和 markdown 源码截图,还是渲染以后的页面截图? |
![]() | 2 zoharSoul 2021-07-16 13:25:54 +08:00 如果 svg 算图片的话, 弄好模板, 直接往里面替换变量即可 |
![]() | 6 Thinklong 2021-07-16 13:48:49 +08:00 建议用 go-chart 之类的库生成图表图片,然后发图片地址 |
![]() | &nsp; 7 copriwolf OP @Thinklong 先接入企业微信生态直接推送到人,但是图片要 jpeg/png |
![]() | 9 jdhao 2021-07-16 14:04:33 +08:00 via Android 用 pandoc 先把源码转为 pdf,然后再对 pdf 截图(imagemagick) |
![]() | 10 copriwolf OP @jdhao pandoc 是否需要系统底层支持?主要是考量部署到容器里,pandoc 需要类似 headless-chrome 需要系统层面支持,不好扩展或者做成微服务。 |
![]() | 11 jdhao 2021-07-16 14:09:16 +08:00 via Android @copriwolf 把 pandoc 需要的组建,以及 imagemagick 都做成 docker 容器就可以了 |
![]() | 12 copriwolf OP @jdhao 谢谢你的提议,感觉的确是一个方向不错的。但是涉及到包一个 imaeg docker 进去,不好和运维对接,记录下来了谢谢 |
13 zjj19950716 2021-07-16 16:52:59 +08:00 Puppeteer |
14 0001110001011 2021-07-16 17:03:11 +08:00 htmlurl----> api(go)---> cmd(node puppeteer.js)----> save image 思路仅供参考。 ------------------------------------ 前段时间大概写了个这样的。 在 https://github.com/IT-Weekly/APP 里面 它是为了提供一些不可访问页面,提供 Image 缓存,供观看。。 |
![]() | 15 copriwolf OP @zjj19950716 Puppeteer 我理解其实就是 headless-chrome,他只是在上面封装了一层 nodejs 接口 |
![]() | 16 copriwolf OP @0001110001011 哈哈谢谢,我内部也实现了一个类似的东西,不过我不经过 node 的 puppeteer,直接在 go 调用 headless-chrome 的 go 库拉起模拟登陆和截图。 但是最主要的问题是,headless-Chrome 太笨重了,我还特意把它放在一个容器里分开部署,有时候还很吃内存。我想实现一个可以在代码层面的图片生成转换,目前看比较难,只能从 svg 入手。 |
![]() | 17 Muninn 2021-07-16 19:34:07 +08:00 ![]() 我生成海报用的 gg 这个库 没有特别现成的其实 懒得实现一遍只能曲线救国了 |
18 0001110001011 2021-07-17 00:31:54 +08:00 ![]() @copriwolf 但是 puppeteer 有个问题,就是导致 chrome 假死线程会很多,所以,我还有个脚本,定时 kill 所有的进程,以免 僵尸进程太多导致资源占用。 |
20 zjj19950716 2021-07-20 15:23:36 +08:00 @copriwolf Puppeteer runs headless by default, but can be confi gured to run full (non-headless) Chrome or Chromium. 没用过不太清楚,不过简介这么写的 |