我正在尝试找出将 Puppeteer 和 GoogleCharts 库结合起来以呈现条形图并导出图表的 PNG 图像的正确方法。
主要受 Puppeteer 文档启发的基本布局似乎是这样的,用于创建一个带有画布元素的新页面。
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(`
<!DOCTYPE html>
<html>
<body>
<canvas id="chart" width="580" height="400"></canvas>
</body>
</html>
`);
await browser.close();
})();
我发现这个 npm 包可以与 Google Charts 一起使用:https : //www.npmjs.com/package/google-charts。该chart.draw方法似乎接受一个 DOM 元素,它将在其中呈现图表。
根据这个包的文档,用法看起来很简单。
const pie_1_chart = new GoogleCharts.api.visualization.PieChart(document.getElementById('chart1'));
pie_1_chart.draw(data);
如何执行 draw 方法,以便它#canvas在 Puppeteer 页面的DOM 元素内呈现图表?
另外,如果您能给我一个将页面/画布导出为 PNG 图像的正确方法的示例,我将不胜感激。
注意:我浏览了很多东西以找到一个现有的库/包,它可以完成我想要实现的目标,但我能找到的最接近的是 Chart.JS 的 TypeScript 包:https : //github.com/SeanSobey/ChartjsNodePuppeteer。我不熟悉 TypeScript/ES6,所以我不知道如何调整这个库以使其与 Google Charts 库而不是 Chart.JS 一起使用。
慕雪6442864
慕码人2483693
烙印99
相关分类