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 之类的库生成图表图片,然后发图片地址
|
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 1
我生成海报用的 gg 这个库
没有特别现成的其实 懒得实现一遍只能曲线救国了 |
18
0001110001011 2021-07-17 00:31:54 +08:00 1
@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. 没用过不太清楚,不过简介这么写的
|