Huashu Design
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
一个 n8n 工作流:把 Google Drive 里的银行对账单 PDF 按页转成 Markdown,由 Gemini 把每页当图片来读。然后列出每笔存款的日期、说明和金额。
用 Gemini 视觉把银行对账单 PDF 转成 Markdown 是一款 n8n 工作流,属于财务类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
你手动运行
你点 Test workflow 时开始运行。它读取:
一份按页写成 Markdown 的对账单,加上一张带日期、说明和金额的存款清单
开始之前要准备好这些。
对账单来源
下载 PDF 对账单。
需要一个 Google Drive OAuth2 凭据和文件的 id
PDF 转图片
把 PDF 的每一页变成一张 JPG 图片。
需要一台你自己运行的 Stirling PDF 服务器
读页面的模型
读每页图片,写成 Markdown,并列出存款。
需要一个 Google Gemini API 密钥
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流像人一样“看”银行对账单。它从 Google Drive 下载一份 PDF,发给 Stirling PDF 服务器,服务器为每一页返回一张图片。页面被编号、排好顺序,并缩小到原来的四分之三。然后 Gemini 看每一张图片,把这一页写成 Markdown,表格仍然是表格。第二个 Gemini 步骤把所有页面放在一起读,列出每笔存款的日期、说明和金额。十二个节点负责运行,另有两个便签。
需要把 PDF 对账单的文字或存款明细变成数据的会计、分析师和任何人。如果你的银行提供 CSV 下载,就别选它,CSV 既准确又免费。如果对账单不能离开你的掌控,也别选它,因为每一页都会作为图片发给 Google 的 Gemini 服务。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 会计 | 记账员 | 把客户的 PDF 对账单变成可以搜索、可以粘贴的文字 | 一位记账员跑完客户十月的对账单,把 Markdown 粘进工作文件。 |
| 贷款 | 信贷员 | 从对账单里取出存款,核对固定收入 | 一位信贷员读存款清单,看到每月的工资那一行。 |
| 个人理财 | 家庭 | 把旧的纸质对账单搬进笔记或表格 | 一位用户扫描去年的对账单,把 Markdown 和收据放在一起。 |
| 审计 | 复核人员 | 把对账单的每个表格变成纯文本,用来抽样 | 一位复核人员把某个月的 Markdown 表格和总账对照。 |
你需要懂 n8n 的设置:导入文件、添加两个凭据,并运行一台你自己的小服务器。
能访问 Google Drive、Gemini 和你的 Stirling PDF 服务器的 n8n 都能运行它。
点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。设置就是两个凭据、一个文件 id 和你的 Stirling PDF 服务器的地址。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器。Edit Image 步骤需要 GraphicsMagick,n8n 的 Docker 镜像里有 |
| Google Drive | 一个 OAuth2 凭据,和你 Drive 里的一份 PDF 对账单 |
| Stirling PDF | 一台你自己运行的服务器,用它的 Docker 镜像启动,这样对账单只留在你手里 |
| Gemini | 来自 Google AI Studio 的 API 密钥,在 n8n 里添加为 Google Gemini 凭据 |
workflow.json。Get Bank Statement 里选中它。把 <YOUR_BANK_STATEMENT_FILE_ID> 换成你的 PDF 的 id,也就是分享链接里 /d/ 后面的那一段。Split PDF Into Page Images 里,把 <YOUR_STIRLING_PDF_URL> 换成它的地址,结尾不要加斜杠。Gemini Model for Pages 和 Gemini Model for Deposits 里选中它。每来一份新对账单,就把它的文件 id 填进 Get Bank Statement,然后手动运行工作流。在 Transcribe to Markdown 里看 Markdown,在最后一步里看存款清单。
| 想改的 | 在哪里改 |
|---|---|
| 对账单 | Get Bank Statement 里的文件 id |
| 页面图片的清晰度 | Split PDF Into Page Images 里的 dpi |
| 图片缩小多少 | Resize Images For AI 里的百分比 |
| Markdown 怎么写 | Transcribe to Markdown 里的那段指令 |
| 最后一步列出什么 | Extract All Deposit Table Rows 里的指令和字段 |
| Gemini 模型 | Gemini Model for Pages 和 Gemini Model for Deposits |
你把工作流指向一份三页的对账单并运行它。
[{"date": "03/10/2026", "description": "Payroll", "amount": 2450.00}]链会写出三页 Markdown,表格都保留。最后一步把存款列成这样的行,取款不在其中。
新手:n8n 把工作流画成用线连起来的方框,每个方框叫一个节点,只做一件事。这个工作流先把 PDF 变成图片,再请一个能看图的 AI 把每张图打成文字。先用一份短的对账单,把结果和 PDF 对一对。
专家:页面以名为 data 的二进制数据传递。
| 节点 | 它做什么 | 要知道的 |
|---|---|---|
Split PDF Into Page Images | 以表单形式把 PDF 发给 Stirling PDF | 它要求每页一张 300 dpi 的 JPG,返回的是一个 zip 文件 |
Images To List | 从文件名里读出页码,给每页一个编号 | 如果文件名里没有数字,这一页就保留它在列表里的位置 |
Sort Pages | 按这个编号给页面排序 | 原版把文件名当文本排序,所以第 10 页会排在第 2 页前面 |
Resize Images For AI | 把每张图片缩小到 75% | n8n 所在的机器需要 GraphicsMagick |
Transcribe to Markdown | 把每张图片连同一段指令发给 Gemini | 每页一次调用,扫描的支票会变成一个简短的标记 |
Combine All Pages | 把各页文字合成一个名为 pages 的列表 | 最后一步按页码顺序读它们 |
Extract All Deposit Table Rows | 请 Gemini 给出一份存款清单 | 存款模型有一个安全类别设成了不拦截 |
银行对账单是私密的,所以先看看有什么会离开你的电脑。
models/gemini-3.8-flash,它可以读图片。页码是新加的。文件夹、文件 id 和服务器地址都是占位符。指令里的一处拼写错误已更正一个 n8n 工作流,像人一样“看”银行对账单。它从 Google Drive 下载一份 PDF,让 Stirling PDF 服务器把每一页变成图片。
Gemini 把每一页写成带表格的 Markdown,第二个 Gemini 步骤再列出每笔存款的日期、说明和金额。
workflow.json:n8n 导出的工作流,十四个节点,其中两个是便签。里面没有任何凭据。README.md:这份说明。models/gemini-3.8-flash,这个模型可以读图片。<YOUR_STIRLING_PDF_URL> 和<YOUR_BANK_STATEMENT_FILE_ID>。Images To List 从每个文件名里读出页码,Sort PagesTranscribe to Markdown 里的指令有一处拼写错误,存款指令也重新写过。workflow.json。Get Bank Statement 里选中它。把 <YOUR_BANK_STATEMENT_FILE_ID> 换成你的 PDF 的 id,/d/ 后面的那一段。Split PDF Into Page Images 里,把 <YOUR_STIRLING_PDF_URL> 换成它的地址,Gemini Model for Pages 和 Gemini Model for Deposits 里选中它。Get Bank Statement 下载 PDF。Split PDF Into Page Images 把它发给 Stirling PDF,要求每页一张 300 dpi 的 JPG。返回的是一个 zip 文件,Extract Zip File 把它打开。Images To List 为每张图片生成一项,并给它一个页码。Sort Pages 把这些项按页码排好。Resize Images For AI 把每张图片缩小到 75%。Transcribe to Markdown 把每张图片发给 Gemini,收回这一页的 Markdown,表格仍是 Markdown 表格。Combine All Pages 把各页文字合成一个名为 pages 的列表。Extract All Deposit Table Rows 把所有页面一起发给第二个 Gemini 模型,返回一份带日期、说明和金额的存款清单。Get Bank Statement 里的文件 id。Split PDF Into Page Images 里的 dpi 字段。Resize Images For AI 里的百分比。Transcribe to Markdown 里的那段指令。Extract All Deposit Table Rows 里的指令和字段。NOTICE.md 672 B README.md 5 KB workflow.json 10 KB
alchaincyf · 技能
把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。
op7418 · 技能
能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。
alirezarezvani · 技能
为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。
NeoQuasar · 工具包
用一个 4.1M 参数、基于 45 多家交易所数据训练的基础模型来预测金融 K 线序列。适合想用小模型做价格预测实验的量化研究人员和开发者。
一个 n8n 工作流:发票逾期 7、14、30 天时,各发一条希伯来语 WhatsApp 提醒。它每天早上从 Google 表格读出未付款的发票,消息发出后给对应的行做标记。
一个归档发票的 n8n 工作流。它盯着一个 Google Drive 文件夹,把每个新文件交给 LlamaParse 读取,再由 OpenAI 模型取出明细行,Airtable 里得到一条发票记录和每个明细行各一条记录。