热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >扣子一键将结构化数据转PDF并自动发送邮件开发指南

扣子一键将结构化数据转PDF并自动发送邮件开发指南

来源:互联网 更新时间:2026-07-31 08:12

很多团队会遇到这样的需求:数据库导出的JSON或CSV表格,需要自动生成带公司Logo和固定格式的PDF报告,并立刻发给客户邮箱——整个过程不想手动点任何按钮,只要数据一就位,PDF就生成、邮件就发出。下面这套方案,用扣子平台就能完整跑通。

需将清洗后的CSV/JSON数据上传至扣子知识库并启用自动更新,复制知识库ID;在工作流中配置Webhook触发器、PDF生成(含Logo)及邮件发送节点,发布后用Webhook URL自动触发全流程。

准备结构化数据源

数据清洗这一步很关键。字段名里不要有空格和中文标点,比如用order_id,而不是“订单编号”;CSV文件一定要用UTF-8编码保存,不然后续PDF里会出现乱码。

上传数据文件(.csv 或 .json)到扣子知识库时,选择「结构化数据」类型,勾选「启用自动更新」,然后点击「保存并同步」。

【知识库ID必须复制留存】

——后续流程节点需要手动填入这个ID,丢了就关联不上数据源了。

搭建自动化工作流

进入扣子「工作流」,新建一个空白工作流,拖入「定时触发器」或「Webhook触发器」(推荐用后者,方便你系统调用),设置触发条件为「当新数据写入知识库时」。

方法一:使用内置PDF生成节点


拖入「PDF生成」节点,选择模板类型为「表格型」,在「数据源」下拉框中选择你刚创建的知识库。点击「预览模板」确认字段映射正确,然后修改页眉文字为“XX公司月度报表”,勾选「嵌入Logo」并上传PNG格式Logo(尺寸建议300×100像素)。

方法二:用代码节点自定义PDF


拖入「代码节点」,语言选Python,粘贴以下代码片段:

from fpdf import FPDF
import json
data = json.loads($input.data)
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
for row in data[:5]:
  pdf.cell(200, 10, txt=str(row), ln=1)
output = pdf.output(dest='S').encode('latin1')

注意:这个方式不支持中文,如果有中文需求,建议改用reportlab,并提前在环境配置中安装对应字体包。

配置邮件发送环节

第一步:在工作流中拖入「邮件发送」节点,连接上一步PDF生成节点的输出端口。
第二步:填写收件人字段,支持两种写法:① 直接填邮箱地址(如 client@xxx.com);② 引用数据字段(如 $input.email,前提是你的原始数据里有email列)。
第三步:主题栏输入「您的报表已生成【{date}】」——系统会自动把{date}替换成当前日期。
第四步:正文内容可以留空,PDF将作为唯一附件发送;如果需要正文,勾选「启用HTML正文」并插入简短说明文字。

务必点击「测试发送」验证邮箱配置是否生效——首次使用前必须完成SMTP授权,否则所有邮件都会被拦截。

发布并获取调用地址

点击右上角「发布」,等待状态变为「已启用」,然后复制页面顶部显示的Webhook URL。

把这个URL提供给内部系统的开发同事,让他们在数据入库完成后,用POST请求携带JSON体调用该地址,例如:

{"knowledge_base_id": "kb_xxx123", "trigger_data": {"email": "user@test.com"}}

操作起来很简单,直接把这行curl命令粘贴进终端,就能触发一次全流程测试:

curl -X POST [你的Webhook URL] -H "Content-Type: application/json" -d '{"knowledge_base_id":"kb_xxx123"}'

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc