# md_to_file **Repository Path**: qyzs/md_to_file ## Basic Information - **Project Name**: md_to_file - **Description**: 一款基于 Python 的 Markdown 格式互转桌面工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-15 - **Last Updated**: 2026-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Markdown 文件转换工具 一款基于 Python 的 Markdown 格式互转桌面工具,支持 Markdown、TXT、PDF、Word 四种格式之间的双向转换,提供图形用户界面(GUI)。 ## 功能特性 - **Markdown → TXT**:将 Markdown 文件转换为纯文本,去除格式标记(标题、粗体、斜体、链接、代码块等) - **TXT → Markdown**:将纯文本文件转换为 Markdown 文件,自动识别标题结构 - **Markdown → PDF**:将 Markdown 文件转换为 PDF 文档,支持标题层级、代码块、引用、列表、水平线等 - **PDF → Markdown**:提取 PDF 文本内容,根据字体大小智能识别标题层级 - **Markdown → Word**:将 Markdown 文件转换为 `.docx` 文档,保留行内格式(粗体、斜体、代码)、代码块底纹、表格等 - **Word → Markdown**:将 `.docx` 文档转换为 Markdown 文件,支持标题、列表、引用、代码块、水平线、表格 ## 项目结构 ``` md_to_file/ ├── main.py # 程序入口 ├── build.py # 一键打包脚本 ├── requirements.txt # Python 依赖 ├── default.docx # Word 模板文件 ├── 需求说明.md # 需求说明文档 ├── Markdown转换工具.spec # PyInstaller 打包配置 ├── gui/ │ └── app.py # GUI 界面(tkinter) ├── converters/ │ ├── __init__.py # 转换器模块导出 │ ├── md_to_txt.py # Markdown → TXT │ ├── txt_to_md.py # TXT → Markdown │ ├── md_to_pdf.py # Markdown → PDF │ ├── pdf_to_md.py # PDF → Markdown │ ├── md_to_word.py # Markdown → Word │ └── word_to_md.py # Word → Markdown ├── hooks/ │ └── hook-docx.py # PyInstaller Hook(处理 python-docx 模板) ├── build/ # PyInstaller 构建中间产物 └── dist/ # 打包输出目录 ``` ## 环境要求 - **操作系统**:Windows 10 / Windows 11 - **Python**:3.11+ - **开发工具**:Visual Studio Code(推荐) ## 依赖库 | 包名 | 版本要求 | 用途 | |------|---------|------| | `markdown` | ≥3.5 | Markdown 解析支持 | | `fpdf2` | ≥2.8.0 | PDF 文件生成 | | `pymupdf` | ≥1.23.0 | PDF 文件读取与解析 | | `python-docx` | ≥1.1.0 | Word 文档读写 | | `beautifulsoup4` | ≥4.12.0 | HTML/XML 解析支持 | ## 安装运行 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 运行程序 ```bash python main.py ``` 程序启动后将显示图形界面窗口(600×520),居中显示在屏幕上。 ### 3. 使用方式 1. 在 GUI 界面中点击对应的转换按钮 2. 在弹出的文件选择对话框中选择源文件 3. 选择目标文件的保存路径和名称 4. 等待转换完成,状态栏会显示转换进度和结果 ## 项目打包 项目使用 PyInstaller 进行打包,生成独立的 Windows 可执行文件(`.exe`)。 ### 一键打包 ```bash python build.py ``` `build.py` 脚本会自动完成以下步骤: 1. **清理**:删除旧的 `build/`、`dist/` 目录以及所有 `__pycache__/` 2. **模板检查**:确保 `default.docx` 模板文件存在(如不存在则从 `python-docx` 包中复制) 3. **PyInstaller 打包**:使用 `Markdown转换工具.spec` 配置文件执行打包 4. **模板补充**:手动将 `default.docx` 复制到 dist 中 `python-docx` 期望的路径 5. **验证**:检查生成的 EXE 文件和模板文件是否正确就位 ### 打包输出 打包产物位于 `dist/Markdown转换工具/` 目录下: - `Markdown转换工具.exe`:可执行程序 - `_internal/`:运行时依赖文件(Python 解释器、动态库、第三方包等) ## 注意事项 1. **中文字体**:PDF 转换依赖 Windows 系统自带的中文字体(微软雅黑、宋体、黑体),运行环境需为中文 Windows 或安装相应字体 2. **GUI 界面**:部分转换功能(Markdown ↔ TXT、PDF → Markdown)在 GUI 中默认禁用,如需启用请修改 `gui/app.py` 中的 `disabled_conversions` 列表 3. **Word 模板**:`default.docx` 作为生成 Word 文档的默认模板,打包时会一并包含在 dist 目录中 4. **PDF 转换精度**:PDF → Markdown 的转换效果取决于源 PDF 的文本结构和字体信息 ## 开发平台 - Windows 11 - Visual Studio Code - Python 3.11