一个基于 Flask 的 Web 应用,支持将 PDF、Excel、Word 文件转换为 Markdown 和 CSV 格式。
- 🔄 多格式支持: PDF、Excel (.xlsx/.xls)、Word (.docx/.doc)
- 📝 智能转换:
- PDF → Markdown (自动识别标题结构)
- Excel → CSV + Markdown 表格
- Word → Markdown
- 🎨 现代化界面: 响应式设计,支持拖拽上传
- 📦 批量处理: 支持同时上传多个文件
- ⬇️ 灵活下载: 支持单文件下载或打包下载
# 安装项目依赖
pip3 install -r requirements.txt
# 手动安装 Flask(requirements.txt 中缺少)
pip3 install Flask# 安装 pdftotext (用于PDF转换)
brew install poppler
# 安装 pandoc (用于Word转换)
brew install pandoc# 安装 pdftotext
sudo apt-get install poppler-utils
# 安装 pandoc
sudo apt-get install pandoc- 下载并安装 Poppler for Windows
- 将 Poppler 的 bin 目录添加到系统 PATH
- 下载并安装 Pandoc
-
克隆或下载项目文件
-
安装依赖
# 安装项目依赖 pip3 install -r requirements.txt # 手动安装 Flask(requirements.txt 中缺少) pip3 install Flask
-
运行应用
python3 app.py
-
访问应用 打开浏览器访问: http://localhost:3000
- 点击上传区域或拖拽文件到页面
- 支持同时选择多个文件
- 支持的格式:PDF、Excel (.xlsx/.xls)、Word (.docx/.doc)
- 选择文件后点击「开始转换」
- 等待转换完成(会显示进度条)
- 查看转换结果
- 下载全部: 点击「下载全部文件 (ZIP)」获取压缩包
- 单独下载: 点击具体文件名下载单个文件
文件转换工具/
├── app.py # Flask 主应用
├── requirements.txt # Python 依赖
├── README.md # 项目说明
├── templates/
│ └── index.html # 前端页面
├── uploads/ # 临时上传目录 (自动创建)
└── outputs/ # 转换结果目录 (自动创建)
FLASK_ENV: 设置为development启用调试模式FLASK_PORT: 自定义端口号 (默认 8080)
- 使用
python3和pip3命令而不是python和pip - 如果提示命令找不到,请先安装 Python 3:
brew install python
默认 Flask 文件上传限制为 16MB,如需上传更大文件,可在 app.py 中添加:
app.config['MAX_CONTENT_LENGTH'] = 100 * 1024 * 1024 # 100MB- 使用
pdftotext提取文本内容 - 自动识别标题(全大写文本或数字编号)
- 转换为 Markdown 格式
- 生成 CSV 文件(保持原始数据)
- 生成 Markdown 表格(便于阅读)
- 多工作表文件会分别处理
- 使用
pandoc转换为 Markdown - 保持原有格式和结构
问题: 提示 "pdftotext command not found" 解决: 确保已安装 poppler-utils
问题: 提示 "pandoc command not found" 解决: 确保已安装 pandoc
问题: 某些 Excel 文件无法读取 解决: 确保文件未损坏,尝试用 Excel 重新保存
问题: 转换后的文件中文显示乱码 解决: 确保系统支持 UTF-8 编码
- 上传的文件会临时保存在服务器,转换完成后自动删除
- 转换结果文件会保留一段时间,建议定期清理
outputs目录 - 生产环境部署时请修改
app.secret_key - 建议设置文件上传大小限制
欢迎提交 Issue 和 Pull Request!
MIT License