在 Node.js 中将 HTML 作为图像渲染到 Buffer 中

Zee*_*bit 3 html node.js npm

呈现原始 HTML 字符串的最简单方法是什么,例如:

<b>Hello World</b>
Run Code Online (Sandbox Code Playgroud)

放入标准 Node.js 缓冲区作为 PNG 图像?

我一直在 npm 上到处搜索可以让我这样做的模块,但我一直找不到。它们似乎都直接渲染到文件中。

Sir*_*rko 7

要做到这一点的方法之一是模拟使用类似浏览器环境的木偶,然后用它的屏幕截图/打印功能来创建PNG文件。

一些代码(在 puppeteer 文档之后 - 未测试):

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setContent( yourHTMLCode );
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)