node-red导出图表PDF

所需组件和库

node-red-dashboard 组成可视可见Web界面

node-red-contrib-pdf导出PDF

用按钮来触发,打印出我们在web上的界面的图表PDF或者一些其他的东西

组件连线

node-red-dashboard button节点 > node-red-dashboard template > function 节点 >ode-red-contrib-pdf 生成PDF

程序功能

button 内容

点击按钮输出内容exportPDF用于触发后续内容

template 程序内容

javascript 复制代码
<script>
  (function(scope){
  scope.$watch('msg', function(msg){
    if(msg && msg.payload === "exportPDF"){
      const canvas = document.querySelectorAll('.nr-dashboard-chart canvas')[0];
      if(canvas){
        scope.send({ payload: canvas.toDataURL('image/png') });
      }
    }
  });
})(scope);
</script>

当外部给这个 ui_template 节点发送一条消息,且 msg.payload === "exportPDF" 时:

  • 去页面里找到第 0 个 图表(chart)的 <canvas>

  • 把这个 canvas 转成 base64 的 PNG 图片数据(dataURL)

  • scope.send() 发回 Node-RED 流程里(下游节点就能拿到图片)

function内容

javascript 复制代码
const img = msg.payload;
msg.payload = `<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
body { font-family: Arial; text-align: center; }
img { width: 100%; }
</style>
</head>
<body>
<h2>图表</h2>
<img src="${img}">
<H1>生成时间:${new Date().toLocaleString()}</H1>
</body>
</html>`;

msg.filename = `C:/Users/xlk61/Desktop/导出chart/${list}.pdf`;


return msg;

msg.fliename 是导出pdf存放路径。

相关推荐
小新科研测评7 小时前
2026 年 3 种 PDF 文献翻译方案横评:公式/表格/双栏排版保真度实测
人工智能·ai·pdf·自动翻译
学术 学术 Fun13 小时前
PDF 转 draw.io:把 PDF 图表恢复成可编辑图形
pdf·流程图·drawio
开开心心就好13 小时前
电子教鞭工具支持画框写字插图片功能齐全
android·开发语言·前端·javascript·人工智能·pdf·html
2601_9499506318 小时前
Word、PDF、Excel题目怎么快速整理?
pdf·word·excel
redfred1 天前
Stirling-PDF 使用教程:开源 PDF 工具箱 50+ 工具 PDF转Word/合并/压缩/OCR 桌面版 Docker 部署详解
pdf·开源·word
2501_930707781 天前
如何使用C#代码向 PDF 文档添加多种类型的注释
pdf
SamChan902 天前
Python+PyMuPDF提取PDF表格并翻译:表格结构检测与双语重建实战
windows·python·ai·pdf·wpf
E_ICEBLUE2 天前
Python 实现 Markdown 转 Word、PDF:从转换到页面设置
python·pdf·word·markdown·格式转换
zhonyu鱼2 天前
Drawpile:多人实时协作绘画,一起在同一块画布上画画
笔记·pdf·开源·开源软件
SamChan902 天前
Python+OpenCV检测PDF翻译后排版偏移:像素级格式一致性验证
python·opencv·ai·pdf·wpf