在 ApexCharts 工具栏中,可以选择将图表下载为 PNG 文件。有没有办法在 NestJs(或 Node)后端自动生成静态 PNG 文件,在元标记中使用这些静态图像进行开放图形和社交共享?
更新:图表库似乎严重依赖浏览器来呈现图形,如果我想这样做,我需要在后端运行浏览器(例如 PhantomJs)。
在 ApexCharts 工具栏中,可以选择将图表下载为 PNG 文件。有没有办法在 NestJs(或 Node)后端自动生成静态 PNG 文件,在元标记中使用这些静态图像进行开放图形和社交共享?
更新:图表库似乎严重依赖浏览器来呈现图形,如果我想这样做,我需要在后端运行浏览器(例如 PhantomJs)。
没有任何直接的方法可以实现这一目标。但是,apexcharts 有一个功能,您可以安装单独的服务器 (FusionExport) 并调用它来将图表呈现为图像或 PDF 文件。您可以在此处找到有关它的更多信息。但这是一个付费解决方案。
如果这不适合您,您可以实现像Headless Chrome这样的无头浏览器,并使用像Puppeteer这样的库来调用它。设置完成后,您可以编写一个简单的脚本来加载图表并在完成后截取屏幕截图,或者您可以使用以下回调从 apexcharts 本身生成图像 (dataURI)。
chart.dataURI().then(({ imgURI, blob }) => {
// use the imgURI as needed
})