# MarkItDown - 智能文档转换工具
MarkItDown 是一个强大的文档转换工具,能够将各种格式的文件转换为 Markdown 格式。它支持 AI 增强功能,可以智能识别图片中的文字,提供更准确的文档结构识别,并支持多种 AI 服务提供商。
## 功能特点
- 🔄 支持多种文件格式转换
- 📄 文档:PDF, Word (.doc, .docx), PowerPoint (.pptx), Excel (.xlsx)
- 📷 图片:JPG, JPEG, PNG(支持 OCR 和 EXIF 元数据提取)
- 🌐 网页:HTML
- 📝 文本:TXT, CSV, JSON, XML
- 🎵 音频:支持语音转文字和元数据提取
- 📸 屏幕截图功能
- 快捷键支持(Ctrl+Alt+S)
- 区域选择截图
- 自动识别文字内容
- 智能布局分析
- 一键转换为Markdown
- 自动保存截图历史
- 🤖 AI 增强功能
- 图片文字识别(OCR)
- 智能文档结构分析
- 语音转文字
- 内容优化和格式化
- 截图内容智能分析
- 🔌 支持多个 AI 服务提供商
- OpenAI
- Anthropic
- DeepSeek
- Ollama(本地部署)
- 硅基流动
- OpenRouter
- 自定义 OpenAI 兼容接口
- 💾 文件管理功能
- 文件上传(支持拖放)
- 历史文件管理
- 批量删除功能
## 音频转录功能
### 支持的音频格式
- MP3 (.mp3)
- WAV (.wav)
- M4A (.m4a)
### 音频转录提供商
目前支持以下AI提供商的音频转录服务:
1. 硅基流动(推荐)
- 模型:`FunAudioLLM/SenseVoiceSmall`
- API端点:`https://api.siliconflow.cn/v1/audio/transcriptions`
- 支持中文音频转录
- 使用方法:
```
1. 选择 AI 提供商为 "硅基流动"
2. 填入有效的 API Key
3. 选择模型为 "FunAudioLLM/SenseVoiceSmall"
4. 上传音频文件
```
2. OpenAI
- 模型:`whisper-1`
- 支持多语言音频转录
- 使用方法:
```
1. 选择 AI 提供商为 "OpenAI"
2. 填入 OpenAI API Key
3. 选择模型为 "whisper-1"
4. 上传音频文件
```
### 使用限制
- 音频文件大小限制:16MB
- 支持的文件格式:MP3、WAV、M4A
- 需要有效的 API 密钥
- 音频质量需要清晰可辨
### 错误处理
如果遇到转录失败,请检查:
1. API 密钥是否有效
2. 音频文件是否完整且未损坏
3. 文件格式是否正确
4. 文件大小是否在限制范围内
5. 网络连接是否正常
### 注意事项
- 转录过程可能需要一些时间,请耐心等待
- 建议使用质量较好的音频以获得更准确的转录结果
- 如果使用硅基流动API,建议选择中文音频以获得最佳效果
## 安装说明
1. 克隆仓库:
```bash
git clone https://github.com/yourusername/markitdown.git
cd markitdown
```
2. 创建虚拟环境:
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
```
3. 安装 Python 依赖:
```bash
pip install -r requirements.txt
```
4. 安装 Tesseract-OCR(用于文字识别):
Windows:
- 下载 [Tesseract-OCR 安装包](https://github.com/UB-Mannheim/tesseract/wiki)
- 运行安装程序,记住安装路径
- 将安装路径(例如 `C:\Program Files\Tesseract-OCR`)添加到系统环境变量 Path 中
- 安装中文语言包:在安装时选择"Additional language data (download)",并选择"Chinese (Simplified)"
Linux:
```bash
sudo apt-get update
sudo apt-get install tesseract-ocr
sudo apt-get install tesseract-ocr-chi-sim # 中文支持
```
macOS:
```bash
brew install tesseract
brew install tesseract-lang # 安装所有语言包
```
5. 创建必要的目录:
```bash
mkdir uploads
mkdir uploads/images
mkdir uploads/screenshots
```
6. 验证安装:
```bash
# 验证 Tesseract 安装
tesseract --version
# 验证 Python 包安装
python -c "import pytesseract; print(pytesseract.get_tesseract_version())"
```
如果遇到 "tesseract not found" 错误,请确保:
- Tesseract-OCR 已正确安装
- 安装路径已添加到系统环境变量
- 如果使用 Windows,可能需要重启终端或计算机
## 使用方法
1. 启动服务器:
```bash
python app.py
```
2. 打开浏览器访问:`http://localhost:5000`
3. 基础使用:
- 直接拖放文件到上传区域或点击"选择文件"
- 等待转换完成
- 查看转换结果,支持 Markdown 预览和源码视图
- 使用"复制 Markdown"按钮复制内容
4. AI 增强功能:
- 勾选"使用 AI 增强"
- 选择 AI 服务提供商
- 输入相应的 API 密钥
- 选择合适的模型(根据文件类型)
- 上传文件进行转换
5. 文件管理:
- 使用下拉菜单查看已上传的文件
- 点击"使用选中文件"重新转换
- 使用删除按钮移除单个或所有文件
6. 屏幕截图功能:
- 使用快捷键 `Ctrl+Alt+S` 启动截图
- 鼠标拖动选择截图区域
- 自动识别文字内容并转换
- 在预览区查看转换结果
- 可以编辑和调整转换后的内容
- 支持截图历史管理
## 技术实现
### 后端架构
1. **核心框架**
- Flask:Web 框架
- PyMuPDF:PDF 处理
- MarkItDown:文档转换核心库
2. **文件处理流程**
- 文件上传验证和安全处理
- 格式检测和分类
- 内容提取和转换
- Markdown 格式化和优化
3. **AI 集成**
- 多提供商支持架构
- 统一的 API 调用接口
- 异步处理和错误处理
- 结果优化和格式化
4. **图片处理**
- OCR 文字识别
- 图片保存和引用
- 路径规范化
- 元数据提取
5. **屏幕截图处理**
- 系统级快捷键监听
- 屏幕区域选择
- 图像捕获和处理
- OCR文字识别
- 布局分析和重构
- 历史记录管理
### 前端实现
1. **用户界面**
- 响应式设计
- 拖放上传
- 实时预览
- 进度反馈
2. **交互功能**
- 文件管理
- AI 配置
- 格式切换
- 复制功能
3. **状态管理**
- 文件列表维护
- 转换状态追踪
- 错误处理和显示
## 注意事项
1. API 密钥安全:
- 请妥善保管您的 API 密钥
- 建议使用环境变量存储敏感信息
- 在生产环境中使用 HTTPS
2. 文件限制:
- 最大文件大小:16MB
- 支持的文件类型见功能列表
- 图片文件必须启用 AI 功能
3. AI 模型选择:
- 图片处理需要使用支持 vision 的模型
- 音频处理需要使用支持语音的模型
- 文档处理可使用通用语言模型
## 贡献指南
欢迎提交 Pull Request 和 Issue。在提交之前,请确保:
1. 代码符合 PEP 8 规范
2. 添加了必要的测试
3. 更新了相关文档
4. 提供了清晰的提交信息
## 许可证
本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。
Raw data
{
"_id": null,
"home_page": "https://github.com/main2snipercc/markitdown-web----",
"name": "elliot-markitdown",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Elliot",
"author_email": "huang19911021@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/14/6c/de887a8d86fb1c662b7c2476ef9c143429dfdcae3f070ffb937c683cfd30/elliot_markitdown-0.1.0.tar.gz",
"platform": null,
"description": "# MarkItDown - \u667a\u80fd\u6587\u6863\u8f6c\u6362\u5de5\u5177\r\n\r\nMarkItDown \u662f\u4e00\u4e2a\u5f3a\u5927\u7684\u6587\u6863\u8f6c\u6362\u5de5\u5177\uff0c\u80fd\u591f\u5c06\u5404\u79cd\u683c\u5f0f\u7684\u6587\u4ef6\u8f6c\u6362\u4e3a Markdown \u683c\u5f0f\u3002\u5b83\u652f\u6301 AI \u589e\u5f3a\u529f\u80fd\uff0c\u53ef\u4ee5\u667a\u80fd\u8bc6\u522b\u56fe\u7247\u4e2d\u7684\u6587\u5b57\uff0c\u63d0\u4f9b\u66f4\u51c6\u786e\u7684\u6587\u6863\u7ed3\u6784\u8bc6\u522b\uff0c\u5e76\u652f\u6301\u591a\u79cd AI \u670d\u52a1\u63d0\u4f9b\u5546\u3002\r\n\r\n## \u529f\u80fd\u7279\u70b9\r\n\r\n- \ud83d\udd04 \u652f\u6301\u591a\u79cd\u6587\u4ef6\u683c\u5f0f\u8f6c\u6362\r\n - \ud83d\udcc4 \u6587\u6863\uff1aPDF, Word (.doc, .docx), PowerPoint (.pptx), Excel (.xlsx)\r\n - \ud83d\udcf7 \u56fe\u7247\uff1aJPG, JPEG, PNG\uff08\u652f\u6301 OCR \u548c EXIF \u5143\u6570\u636e\u63d0\u53d6\uff09\r\n - \ud83c\udf10 \u7f51\u9875\uff1aHTML\r\n - \ud83d\udcdd \u6587\u672c\uff1aTXT, CSV, JSON, XML\r\n - \ud83c\udfb5 \u97f3\u9891\uff1a\u652f\u6301\u8bed\u97f3\u8f6c\u6587\u5b57\u548c\u5143\u6570\u636e\u63d0\u53d6\r\n\r\n- \ud83d\udcf8 \u5c4f\u5e55\u622a\u56fe\u529f\u80fd\r\n - \u5feb\u6377\u952e\u652f\u6301\uff08Ctrl+Alt+S\uff09\r\n - \u533a\u57df\u9009\u62e9\u622a\u56fe\r\n - \u81ea\u52a8\u8bc6\u522b\u6587\u5b57\u5185\u5bb9\r\n - \u667a\u80fd\u5e03\u5c40\u5206\u6790\r\n - \u4e00\u952e\u8f6c\u6362\u4e3aMarkdown\r\n - \u81ea\u52a8\u4fdd\u5b58\u622a\u56fe\u5386\u53f2\r\n\r\n- \ud83e\udd16 AI \u589e\u5f3a\u529f\u80fd\r\n - \u56fe\u7247\u6587\u5b57\u8bc6\u522b\uff08OCR\uff09\r\n - \u667a\u80fd\u6587\u6863\u7ed3\u6784\u5206\u6790\r\n - \u8bed\u97f3\u8f6c\u6587\u5b57\r\n - \u5185\u5bb9\u4f18\u5316\u548c\u683c\u5f0f\u5316\r\n - \u622a\u56fe\u5185\u5bb9\u667a\u80fd\u5206\u6790\r\n\r\n- \ud83d\udd0c \u652f\u6301\u591a\u4e2a AI \u670d\u52a1\u63d0\u4f9b\u5546\r\n - OpenAI\r\n - Anthropic\r\n - DeepSeek\r\n - Ollama\uff08\u672c\u5730\u90e8\u7f72\uff09\r\n - \u7845\u57fa\u6d41\u52a8\r\n - OpenRouter\r\n - \u81ea\u5b9a\u4e49 OpenAI \u517c\u5bb9\u63a5\u53e3\r\n\r\n- \ud83d\udcbe \u6587\u4ef6\u7ba1\u7406\u529f\u80fd\r\n - \u6587\u4ef6\u4e0a\u4f20\uff08\u652f\u6301\u62d6\u653e\uff09\r\n - \u5386\u53f2\u6587\u4ef6\u7ba1\u7406\r\n - \u6279\u91cf\u5220\u9664\u529f\u80fd\r\n\r\n## \u97f3\u9891\u8f6c\u5f55\u529f\u80fd\r\n\r\n### \u652f\u6301\u7684\u97f3\u9891\u683c\u5f0f\r\n- MP3 (.mp3)\r\n- WAV (.wav)\r\n- M4A (.m4a)\r\n\r\n### \u97f3\u9891\u8f6c\u5f55\u63d0\u4f9b\u5546\r\n\u76ee\u524d\u652f\u6301\u4ee5\u4e0bAI\u63d0\u4f9b\u5546\u7684\u97f3\u9891\u8f6c\u5f55\u670d\u52a1\uff1a\r\n\r\n1. \u7845\u57fa\u6d41\u52a8\uff08\u63a8\u8350\uff09\r\n - \u6a21\u578b\uff1a`FunAudioLLM/SenseVoiceSmall`\r\n - API\u7aef\u70b9\uff1a`https://api.siliconflow.cn/v1/audio/transcriptions`\r\n - \u652f\u6301\u4e2d\u6587\u97f3\u9891\u8f6c\u5f55\r\n - \u4f7f\u7528\u65b9\u6cd5\uff1a\r\n ```\r\n 1. \u9009\u62e9 AI \u63d0\u4f9b\u5546\u4e3a \"\u7845\u57fa\u6d41\u52a8\"\r\n 2. \u586b\u5165\u6709\u6548\u7684 API Key\r\n 3. \u9009\u62e9\u6a21\u578b\u4e3a \"FunAudioLLM/SenseVoiceSmall\"\r\n 4. \u4e0a\u4f20\u97f3\u9891\u6587\u4ef6\r\n ```\r\n\r\n2. OpenAI\r\n - \u6a21\u578b\uff1a`whisper-1`\r\n - \u652f\u6301\u591a\u8bed\u8a00\u97f3\u9891\u8f6c\u5f55\r\n - \u4f7f\u7528\u65b9\u6cd5\uff1a\r\n ```\r\n 1. \u9009\u62e9 AI \u63d0\u4f9b\u5546\u4e3a \"OpenAI\"\r\n 2. \u586b\u5165 OpenAI API Key\r\n 3. \u9009\u62e9\u6a21\u578b\u4e3a \"whisper-1\"\r\n 4. \u4e0a\u4f20\u97f3\u9891\u6587\u4ef6\r\n ```\r\n\r\n### \u4f7f\u7528\u9650\u5236\r\n- \u97f3\u9891\u6587\u4ef6\u5927\u5c0f\u9650\u5236\uff1a16MB\r\n- \u652f\u6301\u7684\u6587\u4ef6\u683c\u5f0f\uff1aMP3\u3001WAV\u3001M4A\r\n- \u9700\u8981\u6709\u6548\u7684 API \u5bc6\u94a5\r\n- \u97f3\u9891\u8d28\u91cf\u9700\u8981\u6e05\u6670\u53ef\u8fa8\r\n\r\n### \u9519\u8bef\u5904\u7406\r\n\u5982\u679c\u9047\u5230\u8f6c\u5f55\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\uff1a\r\n1. API \u5bc6\u94a5\u662f\u5426\u6709\u6548\r\n2. \u97f3\u9891\u6587\u4ef6\u662f\u5426\u5b8c\u6574\u4e14\u672a\u635f\u574f\r\n3. \u6587\u4ef6\u683c\u5f0f\u662f\u5426\u6b63\u786e\r\n4. \u6587\u4ef6\u5927\u5c0f\u662f\u5426\u5728\u9650\u5236\u8303\u56f4\u5185\r\n5. \u7f51\u7edc\u8fde\u63a5\u662f\u5426\u6b63\u5e38\r\n\r\n### \u6ce8\u610f\u4e8b\u9879\r\n- \u8f6c\u5f55\u8fc7\u7a0b\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\r\n- \u5efa\u8bae\u4f7f\u7528\u8d28\u91cf\u8f83\u597d\u7684\u97f3\u9891\u4ee5\u83b7\u5f97\u66f4\u51c6\u786e\u7684\u8f6c\u5f55\u7ed3\u679c\r\n- \u5982\u679c\u4f7f\u7528\u7845\u57fa\u6d41\u52a8API\uff0c\u5efa\u8bae\u9009\u62e9\u4e2d\u6587\u97f3\u9891\u4ee5\u83b7\u5f97\u6700\u4f73\u6548\u679c\r\n\r\n## \u5b89\u88c5\u8bf4\u660e\r\n\r\n1. \u514b\u9686\u4ed3\u5e93\uff1a\r\n```bash\r\ngit clone https://github.com/yourusername/markitdown.git\r\ncd markitdown\r\n```\r\n\r\n2. \u521b\u5efa\u865a\u62df\u73af\u5883\uff1a\r\n```bash\r\npython -m venv venv\r\nsource venv/bin/activate # Linux/Mac\r\nvenv\\Scripts\\activate # Windows\r\n```\r\n\r\n3. \u5b89\u88c5 Python \u4f9d\u8d56\uff1a\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n4. \u5b89\u88c5 Tesseract-OCR\uff08\u7528\u4e8e\u6587\u5b57\u8bc6\u522b\uff09\uff1a\r\n\r\nWindows:\r\n- \u4e0b\u8f7d [Tesseract-OCR \u5b89\u88c5\u5305](https://github.com/UB-Mannheim/tesseract/wiki)\r\n- \u8fd0\u884c\u5b89\u88c5\u7a0b\u5e8f\uff0c\u8bb0\u4f4f\u5b89\u88c5\u8def\u5f84\r\n- \u5c06\u5b89\u88c5\u8def\u5f84\uff08\u4f8b\u5982 `C:\\Program Files\\Tesseract-OCR`\uff09\u6dfb\u52a0\u5230\u7cfb\u7edf\u73af\u5883\u53d8\u91cf Path \u4e2d\r\n- \u5b89\u88c5\u4e2d\u6587\u8bed\u8a00\u5305\uff1a\u5728\u5b89\u88c5\u65f6\u9009\u62e9\"Additional language data (download)\"\uff0c\u5e76\u9009\u62e9\"Chinese (Simplified)\"\r\n\r\nLinux:\r\n```bash\r\nsudo apt-get update\r\nsudo apt-get install tesseract-ocr\r\nsudo apt-get install tesseract-ocr-chi-sim # \u4e2d\u6587\u652f\u6301\r\n```\r\n\r\nmacOS:\r\n```bash\r\nbrew install tesseract\r\nbrew install tesseract-lang # \u5b89\u88c5\u6240\u6709\u8bed\u8a00\u5305\r\n```\r\n\r\n5. \u521b\u5efa\u5fc5\u8981\u7684\u76ee\u5f55\uff1a\r\n```bash\r\nmkdir uploads\r\nmkdir uploads/images\r\nmkdir uploads/screenshots\r\n```\r\n\r\n6. \u9a8c\u8bc1\u5b89\u88c5\uff1a\r\n```bash\r\n# \u9a8c\u8bc1 Tesseract \u5b89\u88c5\r\ntesseract --version\r\n\r\n# \u9a8c\u8bc1 Python \u5305\u5b89\u88c5\r\npython -c \"import pytesseract; print(pytesseract.get_tesseract_version())\"\r\n```\r\n\r\n\u5982\u679c\u9047\u5230 \"tesseract not found\" \u9519\u8bef\uff0c\u8bf7\u786e\u4fdd\uff1a\r\n- Tesseract-OCR \u5df2\u6b63\u786e\u5b89\u88c5\r\n- \u5b89\u88c5\u8def\u5f84\u5df2\u6dfb\u52a0\u5230\u7cfb\u7edf\u73af\u5883\u53d8\u91cf\r\n- \u5982\u679c\u4f7f\u7528 Windows\uff0c\u53ef\u80fd\u9700\u8981\u91cd\u542f\u7ec8\u7aef\u6216\u8ba1\u7b97\u673a\r\n\r\n## \u4f7f\u7528\u65b9\u6cd5\r\n\r\n1. \u542f\u52a8\u670d\u52a1\u5668\uff1a\r\n```bash\r\npython app.py\r\n```\r\n\r\n2. \u6253\u5f00\u6d4f\u89c8\u5668\u8bbf\u95ee\uff1a`http://localhost:5000`\r\n\r\n3. \u57fa\u7840\u4f7f\u7528\uff1a\r\n - \u76f4\u63a5\u62d6\u653e\u6587\u4ef6\u5230\u4e0a\u4f20\u533a\u57df\u6216\u70b9\u51fb\"\u9009\u62e9\u6587\u4ef6\"\r\n - \u7b49\u5f85\u8f6c\u6362\u5b8c\u6210\r\n - \u67e5\u770b\u8f6c\u6362\u7ed3\u679c\uff0c\u652f\u6301 Markdown \u9884\u89c8\u548c\u6e90\u7801\u89c6\u56fe\r\n - \u4f7f\u7528\"\u590d\u5236 Markdown\"\u6309\u94ae\u590d\u5236\u5185\u5bb9\r\n\r\n4. AI \u589e\u5f3a\u529f\u80fd\uff1a\r\n - \u52fe\u9009\"\u4f7f\u7528 AI \u589e\u5f3a\"\r\n - \u9009\u62e9 AI \u670d\u52a1\u63d0\u4f9b\u5546\r\n - \u8f93\u5165\u76f8\u5e94\u7684 API \u5bc6\u94a5\r\n - \u9009\u62e9\u5408\u9002\u7684\u6a21\u578b\uff08\u6839\u636e\u6587\u4ef6\u7c7b\u578b\uff09\r\n - \u4e0a\u4f20\u6587\u4ef6\u8fdb\u884c\u8f6c\u6362\r\n\r\n5. \u6587\u4ef6\u7ba1\u7406\uff1a\r\n - \u4f7f\u7528\u4e0b\u62c9\u83dc\u5355\u67e5\u770b\u5df2\u4e0a\u4f20\u7684\u6587\u4ef6\r\n - \u70b9\u51fb\"\u4f7f\u7528\u9009\u4e2d\u6587\u4ef6\"\u91cd\u65b0\u8f6c\u6362\r\n - \u4f7f\u7528\u5220\u9664\u6309\u94ae\u79fb\u9664\u5355\u4e2a\u6216\u6240\u6709\u6587\u4ef6\r\n\r\n6. \u5c4f\u5e55\u622a\u56fe\u529f\u80fd\uff1a\r\n - \u4f7f\u7528\u5feb\u6377\u952e `Ctrl+Alt+S` \u542f\u52a8\u622a\u56fe\r\n - \u9f20\u6807\u62d6\u52a8\u9009\u62e9\u622a\u56fe\u533a\u57df\r\n - \u81ea\u52a8\u8bc6\u522b\u6587\u5b57\u5185\u5bb9\u5e76\u8f6c\u6362\r\n - \u5728\u9884\u89c8\u533a\u67e5\u770b\u8f6c\u6362\u7ed3\u679c\r\n - \u53ef\u4ee5\u7f16\u8f91\u548c\u8c03\u6574\u8f6c\u6362\u540e\u7684\u5185\u5bb9\r\n - \u652f\u6301\u622a\u56fe\u5386\u53f2\u7ba1\u7406\r\n\r\n## \u6280\u672f\u5b9e\u73b0\r\n\r\n### \u540e\u7aef\u67b6\u6784\r\n\r\n1. **\u6838\u5fc3\u6846\u67b6**\r\n - Flask\uff1aWeb \u6846\u67b6\r\n - PyMuPDF\uff1aPDF \u5904\u7406\r\n - MarkItDown\uff1a\u6587\u6863\u8f6c\u6362\u6838\u5fc3\u5e93\r\n\r\n2. **\u6587\u4ef6\u5904\u7406\u6d41\u7a0b**\r\n - \u6587\u4ef6\u4e0a\u4f20\u9a8c\u8bc1\u548c\u5b89\u5168\u5904\u7406\r\n - \u683c\u5f0f\u68c0\u6d4b\u548c\u5206\u7c7b\r\n - \u5185\u5bb9\u63d0\u53d6\u548c\u8f6c\u6362\r\n - Markdown \u683c\u5f0f\u5316\u548c\u4f18\u5316\r\n\r\n3. **AI \u96c6\u6210**\r\n - \u591a\u63d0\u4f9b\u5546\u652f\u6301\u67b6\u6784\r\n - \u7edf\u4e00\u7684 API \u8c03\u7528\u63a5\u53e3\r\n - \u5f02\u6b65\u5904\u7406\u548c\u9519\u8bef\u5904\u7406\r\n - \u7ed3\u679c\u4f18\u5316\u548c\u683c\u5f0f\u5316\r\n\r\n4. **\u56fe\u7247\u5904\u7406**\r\n - OCR \u6587\u5b57\u8bc6\u522b\r\n - \u56fe\u7247\u4fdd\u5b58\u548c\u5f15\u7528\r\n - \u8def\u5f84\u89c4\u8303\u5316\r\n - \u5143\u6570\u636e\u63d0\u53d6\r\n\r\n5. **\u5c4f\u5e55\u622a\u56fe\u5904\u7406**\r\n - \u7cfb\u7edf\u7ea7\u5feb\u6377\u952e\u76d1\u542c\r\n - \u5c4f\u5e55\u533a\u57df\u9009\u62e9\r\n - \u56fe\u50cf\u6355\u83b7\u548c\u5904\u7406\r\n - OCR\u6587\u5b57\u8bc6\u522b\r\n - \u5e03\u5c40\u5206\u6790\u548c\u91cd\u6784\r\n - \u5386\u53f2\u8bb0\u5f55\u7ba1\u7406\r\n\r\n### \u524d\u7aef\u5b9e\u73b0\r\n\r\n1. **\u7528\u6237\u754c\u9762**\r\n - \u54cd\u5e94\u5f0f\u8bbe\u8ba1\r\n - \u62d6\u653e\u4e0a\u4f20\r\n - \u5b9e\u65f6\u9884\u89c8\r\n - \u8fdb\u5ea6\u53cd\u9988\r\n\r\n2. **\u4ea4\u4e92\u529f\u80fd**\r\n - \u6587\u4ef6\u7ba1\u7406\r\n - AI \u914d\u7f6e\r\n - \u683c\u5f0f\u5207\u6362\r\n - \u590d\u5236\u529f\u80fd\r\n\r\n3. **\u72b6\u6001\u7ba1\u7406**\r\n - \u6587\u4ef6\u5217\u8868\u7ef4\u62a4\r\n - \u8f6c\u6362\u72b6\u6001\u8ffd\u8e2a\r\n - \u9519\u8bef\u5904\u7406\u548c\u663e\u793a\r\n\r\n## \u6ce8\u610f\u4e8b\u9879\r\n\r\n1. API \u5bc6\u94a5\u5b89\u5168\uff1a\r\n - \u8bf7\u59a5\u5584\u4fdd\u7ba1\u60a8\u7684 API \u5bc6\u94a5\r\n - \u5efa\u8bae\u4f7f\u7528\u73af\u5883\u53d8\u91cf\u5b58\u50a8\u654f\u611f\u4fe1\u606f\r\n - \u5728\u751f\u4ea7\u73af\u5883\u4e2d\u4f7f\u7528 HTTPS\r\n\r\n2. \u6587\u4ef6\u9650\u5236\uff1a\r\n - \u6700\u5927\u6587\u4ef6\u5927\u5c0f\uff1a16MB\r\n - \u652f\u6301\u7684\u6587\u4ef6\u7c7b\u578b\u89c1\u529f\u80fd\u5217\u8868\r\n - \u56fe\u7247\u6587\u4ef6\u5fc5\u987b\u542f\u7528 AI \u529f\u80fd\r\n\r\n3. AI \u6a21\u578b\u9009\u62e9\uff1a\r\n - \u56fe\u7247\u5904\u7406\u9700\u8981\u4f7f\u7528\u652f\u6301 vision \u7684\u6a21\u578b\r\n - \u97f3\u9891\u5904\u7406\u9700\u8981\u4f7f\u7528\u652f\u6301\u8bed\u97f3\u7684\u6a21\u578b\r\n - \u6587\u6863\u5904\u7406\u53ef\u4f7f\u7528\u901a\u7528\u8bed\u8a00\u6a21\u578b\r\n\r\n## \u8d21\u732e\u6307\u5357\r\n\r\n\u6b22\u8fce\u63d0\u4ea4 Pull Request \u548c Issue\u3002\u5728\u63d0\u4ea4\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\uff1a\r\n\r\n1. \u4ee3\u7801\u7b26\u5408 PEP 8 \u89c4\u8303\r\n2. \u6dfb\u52a0\u4e86\u5fc5\u8981\u7684\u6d4b\u8bd5\r\n3. \u66f4\u65b0\u4e86\u76f8\u5173\u6587\u6863\r\n4. \u63d0\u4f9b\u4e86\u6e05\u6670\u7684\u63d0\u4ea4\u4fe1\u606f\r\n\r\n## \u8bb8\u53ef\u8bc1\r\n\r\n\u672c\u9879\u76ee\u91c7\u7528 MIT \u8bb8\u53ef\u8bc1\u3002\u8be6\u89c1 [LICENSE](LICENSE) \u6587\u4ef6\u3002 \r\n",
"bugtrack_url": null,
"license": null,
"summary": "\u4e00\u4e2a\u6587\u6863\u5904\u7406\u548cOCR\u5de5\u5177\u5305\u96c6\u5408",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/main2snipercc/markitdown-web----"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8e4c83cd0fdce3e127f9ee8069e316bcc6d1ef7ff04400f00e3ce2f6e4ac2ed9",
"md5": "525e8025a1a25f057d963432e0b067f2",
"sha256": "e54c6d9ae00fa392db87e2c8513ddf4d9510076e9493dd44325f046ab5976d7d"
},
"downloads": -1,
"filename": "elliot_markitdown-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "525e8025a1a25f057d963432e0b067f2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 6080,
"upload_time": "2025-02-04T01:37:27",
"upload_time_iso_8601": "2025-02-04T01:37:27.199798Z",
"url": "https://files.pythonhosted.org/packages/8e/4c/83cd0fdce3e127f9ee8069e316bcc6d1ef7ff04400f00e3ce2f6e4ac2ed9/elliot_markitdown-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "146cde887a8d86fb1c662b7c2476ef9c143429dfdcae3f070ffb937c683cfd30",
"md5": "1f0cb26f34c06367cdc0bd4c10eb008e",
"sha256": "1b34dc43a6561e294f9f4d955c983bebcef704ee55b25fa1d3d82449779763ea"
},
"downloads": -1,
"filename": "elliot_markitdown-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1f0cb26f34c06367cdc0bd4c10eb008e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 6563,
"upload_time": "2025-02-04T01:37:29",
"upload_time_iso_8601": "2025-02-04T01:37:29.246917Z",
"url": "https://files.pythonhosted.org/packages/14/6c/de887a8d86fb1c662b7c2476ef9c143429dfdcae3f070ffb937c683cfd30/elliot_markitdown-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-04 01:37:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "main2snipercc",
"github_project": "markitdown-web----",
"github_not_found": true,
"lcname": "elliot-markitdown"
}