
n8n工作流分享:商业级别的5个实用自动化工作流分享,诚意满满
n8n PDF 翻译自动化实战:从英文 PDF 到中文 PDF
今天来分享一个完整的自动化流程示例,展示如何利用 n8n 将英文 PDF 文档转换为 Markdown,再调用大语言模型翻译为中文,最终生成中文 PDF 文件。这个案例涵盖了文件读写、本地命令执行、API 调用、数据处理等节点的组合应用,是 n8n 自动化能力的完美展示。
触发与读取原始 PDF
流程起点采用 Manual Trigger 节点,便于测试和调试。随后用 Execute Command 节点调用 PDF 提取转换工具,将 PDF 转为 Markdown 文件。
选择转换工具
推荐使用 MinerU 将 PDF 转换为 Markdown,这是一个开源的 PDF 转 Markdown 工具,效果很好。还有一些其他工具也可以实现类似功能。
执行转换
bash
mineru /path/to/input.pdf -o /path/to/output.md
执行后,Markdown 文件会生成在指定路径。
读取 Markdown 文件
用 Read Binary File 节点读取该 Markdown 文件内容:
- 设置 Output Data In Field 为
data - 内容以 Base64 编码存入
$binary.data - 方便后续处理
提示 :如未安装 pandoc,可用 brew install pandoc 安装。确保 n8n 环境能找到转换工具。
Markdown 二进制数据转为纯文本
Read File 节点输出的 Markdown 内容为 Base64 编码,需要转换为可读的文本字符串。
使用 Code 节点转换
用 Code 节点(JavaScript)将 Base64 编码转为字符串:
javascript
const buffer = await this.helpers.getBinaryDataBuffer('data');
const mdText = buffer.toString('utf8');
return [{ json: { markdown: mdText } }];
这样输出的 $json.markdown 即为英文 Markdown 文本,可以传递给翻译节点。
调用 Gemini 翻译 Markdown
用 HTTP Request 节点调用 Gemini API,将 Markdown 翻译为中文。
配置 HTTP Request
Method: POST
URL : https://api.gemini.com/v1/chat/completions
Authentication: Header Auth
Authorization: Bearer YOUR_GEMINI_API_KEYContent-Type: application/json
Body:
json
{
"model": "gemini-2.5-flash",
"messages": [
{
"role": "user",
"content": "请将以下 Markdown 内容翻译为中文,并保持格式:\n{{$json["markdown"]}}"
}
]
}
表达式 {``{$json["markdown"]}} 注入上一步输出的 Markdown 内容。
处理响应
执行后,响应的 choices[0].message.content 即为中文 Markdown。
提取翻译后的 Markdown
用 Set 节点提取 HTTP 节点输出的中文 Markdown:
- 新增字段
cnMarkdown - 值为表达式:
{``{$node["HTTP Request"].json["choices"][0]["message"]["content"]}}
这样即可获得翻译后的中文 Markdown 字符串,可以用于后续处理。
生成中文 PDF 文件
将中文 Markdown 保存为临时文件,再用 pandoc 转为 PDF。
保存 Markdown 文件
用 Write Binary File 节点,将 cnMarkdown 写入临时文件:
/Users/alice/Documents/output_cn.md
转换为 PDF
用 Execute Command 节点运行 pandoc:
bash
pandoc /Users/alice/Documents/output_cn.md -o /Users/alice/Documents/output_cn.pdf
完整工作流
Manual Trigger
↓
Execute Command(PDF 转 Markdown)
↓
Read Binary File(读取 Markdown)
↓
Code 节点(Base64 转文本)
↓
HTTP Request(调用 Gemini API)
↓
Set 节点(提取翻译结果)
↓
Write Binary File(保存 Markdown)
↓
Execute Command(Markdown 转 PDF)
↓
完成
流程扩展与自动化场景
这个基础流程可以根据实际需求进行扩展:
批量处理
读取文件夹 → Loop Over Items
↓
对每个 PDF 执行翻译流程
↓
收集所有结果
↓
生成汇总报告
多语言翻译
IF 判断源语言
├─ 英文 → 调用 Gemini API
├─ 日文 → 调用其他翻译 API
└─ 中文 → 直接输出
质量检查
翻译完成后 → Code 节点检查质量
↓
IF 质量低于阈值
├─ 重新翻译
└─ 标记需要人工审核
常见问题与解决方法
PDF 转换失败
问题:转换工具报错
解决方法:
- 检查 PDF 文件是否损坏
- 尝试其他转换工具
- 确认转换工具已正确安装
API 调用失败
问题:返回 401 或 403 错误
解决方法:
- 检查 API Key 是否正确
- 确认 API Key 有足够的权限
- 检查 API 使用配额
翻译质量不佳
问题:翻译结果不理想
解决方法:
- 调整提示词(prompt)
- 使用更强大的模型
- 添加翻译后的校验步骤
PDF 生成失败
问题:pandoc 转换报错
解决方法:
- 检查 Markdown 格式是否正确
- 确认 pandoc 已安装
- 尝试不同的输出格式
最佳实践总结
-
模块化设计
- 每个步骤独立成节点
- 便于调试和维护
- 可以单独测试每个步骤
-
错误处理
- 每个关键步骤后添加错误检查
- 实现重试机制
- 记录详细的执行日志
-
性能优化
- 避免不必要的文件读写
- 合理使用缓存
- 批量处理提高效率
-
可扩展性
- 设计通用的流程框架
- 支持多种输入输出格式
- 便于添加新功能
总结
这个 PDF 翻译自动化案例展示了 n8n 强大的集成能力。通过组合不同的节点,你可以构建复杂的自动化工作流,实现:
- 文件格式转换
- AI 智能翻译
- 自动化文档生成
记住几个关键点:
- 使用合适的工具进行 PDF 转换
- 正确处理 Base64 编码
- 合理设计 API 调用
- 做好错误处理和日志
掌握了这些技巧,你就能用 n8n 实现各种复杂的文档处理自动化任务。
n8n入门教程系列目录
【n8n入门教程01】n8n工作流自动化平台架构解析与核心概念详解
【n8n入门教程02】macOS安装n8n保姆级教程-Homebrew与npm两种方式详解
【n8n入门教程03】n8n变量配置与多输入数据合并完整指南
【n8n入门教程04】n8n权限与路径管理全指南:避免常见错误,保障数据安全
【n8n入门教程05】n8n Workflow编辑器完全指南:从入门到精通
【n8n入门教程06】n8n常用节点完全指南:从文件操作到代码执行
【n8n入门教程08】n8n触发节点完全指南:定时器、Webhook和手动触发
【n8n入门教程09】n8n Code与Execute Command节点深度对比与最佳实践
【n8n入门教程10】n8n本地程序集成完全指南:使用Execute Command节点
【n8n入门教程11】n8n大模型集成完全指南:调用OpenAI和Gemini API