用于飞书多维表格的指定列数据转换(读PDF列转换并转写Markdown列,附全文和含附件的压缩包)
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 9 个月前 |
以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
pdf2md-script-for-feishu-table
用于飞书多维表格记录中PDF的读取与转换,将其转为Markdown格式的脚本。
功能特性
- 从飞书多维表格记录中下载PDF文件
- 使用pdfdeal服务将PDF转换为Markdown格式
- 从Markdown文件中提取文本内容
- 将转换后的ZIP文件和内容上传回飞书多维表格
- 多线程处理,支持并行记录处理
- 批量操作的实时进度流式传输
API接口
/translate/all - 处理所有符合条件的记录
查询参数:
stream(可选):设为'true'可通过服务器发送事件(SSE)启用实时进度流式传输。默认值为'false'。
示例:
- 常规模式:
GET /translate/all - 流式模式:
GET /translate/all?stream=true
响应(非流式):
{
"status": "success",
"message": "Processed 5 out of 10 records",
"total": 10,
"processed": 5,
"failed": 5,
"failed_records": ["rec123", "rec456"]
}
响应(流式): 返回包含实时进度更新的服务器发送事件(SSE)流:
type: "start"- 包含总记录数的初始状态type: "progress"- 每条记录处理完成的进度更新type: "complete"- 最终汇总结果
/translate/record - 处理单条记录
查询参数:
record_id(必填):待处理的记录ID
示例: GET /translate/record?record_id=rec123
/health - 健康检查
示例: GET /health
实时进度
如需查看实时进度,可通过以下方式:
-
使用提供的HTML客户端:
- 在浏览器中打开
example_client.html - 点击“开始转换(流式)”查看实时更新
- 在浏览器中打开
-
使用JavaScript EventSource API:
const eventSource = new EventSource('/translate/all?stream=true'); eventSource.onmessage = function(event) { const data = JSON.parse(event.data); console.log(data); // 处理进度更新 }; -
使用curl进行流式传输:
curl -N "http://localhost:5000/translate/all?stream=true"
安装步骤
-
安装依赖:
pip install -r requirements.txt -
将
/.env.sample复制为/.env并填写配置信息:cp .env.sample .env -
在
/.env中配置环境变量:APP_TOKEN- 飞书应用tokenPERSONAL_BASE_TOKEN- 飞书个人基础tokenTABLE_ID- 飞书表格IDPDFDEAL_TOKEN- PDF转换服务tokenORIGIN_COLUMN- 包含PDF文件的列名TARGET_FILE_COLUMN- 用于存储ZIP文件的列名TARGET_CONTEXT_COLUMN- 用于存储文本内容的列名NAME_COLUMN- 记录名称列名(用于文件命名)
使用方法
运行Flask应用:
python app.py
服务将在http://localhost:5000可用。