2025-09-26 15:49:06 +08:00
|
|
|
|
# TXT2DOCX - 智能文本转Word文档工具
|
|
|
|
|
|
|
|
|
|
|
|
## 📖 项目简介
|
|
|
|
|
|
|
|
|
|
|
|
TXT2DOCX 是一个功能强大的文本转换工具,能够将纯文本(TXT)文件智能转换为格式化的 Word 文档(DOCX)。支持 Markdown 语法解析、错别字自动纠正、图片插入和专业样式排版。
|
|
|
|
|
|
|
|
|
|
|
|
### ✨ 核心特性
|
|
|
|
|
|
|
|
|
|
|
|
- 🎨 **专业样式系统** - 内置8款精美样式模板,支持自定义样式编辑
|
|
|
|
|
|
- 📝 **Markdown 支持** - 完整支持 Markdown 语法转换
|
|
|
|
|
|
- 🔧 **智能文本处理** - 自动错别字纠正和文本优化
|
|
|
|
|
|
- 🖼️ **图片处理** - 智能图片插入和尺寸调整
|
|
|
|
|
|
- 📦 **批量处理** - 支持多文件批量转换
|
|
|
|
|
|
- 🎯 **所见即所得** - 高级样式编辑器实时预览功能
|
|
|
|
|
|
- 🖥️ **图形界面** - 友好的 GUI 界面,操作简单直观
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
|
|
|
|
|
|
- Python 3.7+
|
|
|
|
|
|
- Windows 10/11 (推荐) 或 Linux/macOS
|
|
|
|
|
|
|
|
|
|
|
|
### 依赖安装
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pip install python-docx pillow tkinter
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 启动程序
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python main.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 📁 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
TxT2DOCX/
|
|
|
|
|
|
├── main.py # 主程序入口
|
|
|
|
|
|
├── config.py # 配置管理
|
|
|
|
|
|
├── style_manager.py # 样式管理系统
|
|
|
|
|
|
├── advanced_style_editor.py # 高级样式编辑器
|
|
|
|
|
|
├── file_handler.py # 文件处理模块
|
|
|
|
|
|
├── text_processor.py # 文本处理模块
|
|
|
|
|
|
├── markdown_parser.py # Markdown 解析器
|
|
|
|
|
|
├── docx_generator.py # DOCX 生成器
|
|
|
|
|
|
├── image_processor.py # 图片处理模块
|
|
|
|
|
|
├── error_chars.py # 错别字处理
|
|
|
|
|
|
├── batch_processor.py # 批量处理器
|
|
|
|
|
|
├── gui_*.py # GUI 界面模块
|
|
|
|
|
|
├── data/ # 数据目录
|
|
|
|
|
|
│ ├── styles/ # 样式文件
|
|
|
|
|
|
│ │ ├── *.json # 自定义样式配置
|
|
|
|
|
|
│ │ └── ...
|
|
|
|
|
|
│ ├── error_chars.json # 错别字映射表
|
|
|
|
|
|
│ └── 11.txt # 测试文件
|
|
|
|
|
|
├── replacestr.py # 文本替换工具
|
|
|
|
|
|
├── Txt2docx2.py # 原版兼容脚本
|
|
|
|
|
|
└── README.md # 说明文档
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🎨 内置样式模板
|
|
|
|
|
|
|
|
|
|
|
|
### 新媒体风格
|
|
|
|
|
|
1. **爆款文章风格** - 高阅读量文章排版,层次分明
|
|
|
|
|
|
2. **微信公众号风格** - 专业新媒体排版,阅读体验佳
|
|
|
|
|
|
3. **知乎高赞回答风格** - 逻辑清晰,专业权威
|
|
|
|
|
|
4. **小红书笔记风格** - 清新文艺,生活方式类内容
|
|
|
|
|
|
5. **今日头条新闻风格** - 信息密度高,节奏紧凑
|
|
|
|
|
|
6. **B站UP主视频脚本风格** - 轻松活泼,年轻化表达
|
|
|
|
|
|
|
|
|
|
|
|
### 商务风格
|
|
|
|
|
|
7. **企业微信群通知风格** - 正式严肃,商务专业
|
|
|
|
|
|
8. **情感鸡汤文风格** - 温暖治愈,情感丰富
|
|
|
|
|
|
|
|
|
|
|
|
## 🛠️ 功能模块详解
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 样式管理系统
|
|
|
|
|
|
- **内置样式库** - 8款专业排版样式
|
|
|
|
|
|
- **自定义样式** - 支持创建、编辑、导入、导出
|
|
|
|
|
|
- **样式预览** - 实时预览样式效果
|
|
|
|
|
|
- **样式继承** - 基于现有样式快速定制
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 高级样式编辑器
|
|
|
|
|
|
- **实时预览** - 丰富预览模式,所见即所得
|
|
|
|
|
|
- **分层编辑** - 基本信息、正文样式、标题样式分层管理
|
|
|
|
|
|
- **字体配置** - 字体、字号、颜色、粗体、斜体全支持
|
|
|
|
|
|
- **段落设置** - 行距、缩进、间距精确控制
|
|
|
|
|
|
- **标题层次** - 1-3级标题样式独立配置
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 文本处理引擎
|
|
|
|
|
|
- **编码检测** - 自动识别文件编码(UTF-8, GBK, GB2312等)
|
|
|
|
|
|
- **错别字纠正** - 基于词典的智能错别字替换
|
|
|
|
|
|
- **文本清洗** - 去除多余空白和格式化字符
|
2025-10-15 17:54:51 +08:00
|
|
|
|
- **段落控制** - 控制每段最大句子数,自动分割过长段落
|
2025-09-26 15:49:06 +08:00
|
|
|
|
- **Markdown解析** - 支持标题、列表、引用、代码块等
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 图片处理功能
|
|
|
|
|
|
- **自动插入** - 识别文本中图片引用并自动插入
|
|
|
|
|
|
- **尺寸调整** - 智能调整图片尺寸适配文档
|
|
|
|
|
|
- **格式支持** - 支持 PNG, JPG, GIF 等常见格式
|
|
|
|
|
|
|
|
|
|
|
|
### 5. 批量处理器
|
|
|
|
|
|
- **多文件处理** - 同时处理多个TXT文件
|
|
|
|
|
|
- **进度跟踪** - 实时显示处理进度
|
|
|
|
|
|
- **错误处理** - 详细的错误报告和恢复机制
|
|
|
|
|
|
|
|
|
|
|
|
## 📖 使用教程
|
|
|
|
|
|
|
|
|
|
|
|
### 基础使用流程
|
|
|
|
|
|
|
|
|
|
|
|
1. **启动程序**
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python main.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
2. **选择样式**
|
|
|
|
|
|
- 在样式管理选项卡中选择心仪的排版样式
|
|
|
|
|
|
- 或者点击"高级编辑"自定义样式
|
|
|
|
|
|
|
|
|
|
|
|
3. **导入文件**
|
|
|
|
|
|
- 在文件处理选项卡中选择要转换的TXT文件
|
|
|
|
|
|
- 支持单文件或批量文件选择
|
|
|
|
|
|
|
|
|
|
|
|
4. **配置选项**
|
|
|
|
|
|
- 设置输出路径
|
|
|
|
|
|
- 配置文本处理选项
|
|
|
|
|
|
- 调整图片处理参数
|
|
|
|
|
|
|
|
|
|
|
|
5. **开始转换**
|
|
|
|
|
|
- 点击"开始转换"按钮
|
|
|
|
|
|
- 等待处理完成并查看结果
|
|
|
|
|
|
|
|
|
|
|
|
### 高级样式编辑
|
|
|
|
|
|
|
|
|
|
|
|
1. **打开编辑器**
|
|
|
|
|
|
- 选择基础样式 → 点击"高级编辑"
|
|
|
|
|
|
- 或在样式管理中点击"新建"创建全新样式
|
|
|
|
|
|
|
|
|
|
|
|
2. **编辑样式**
|
|
|
|
|
|
- **基本信息**: 修改样式名称和描述
|
|
|
|
|
|
- **正文样式**: 设置字体、字号、颜色、行距等
|
|
|
|
|
|
- **标题样式**: 分别配置1-3级标题的样式
|
|
|
|
|
|
|
|
|
|
|
|
3. **实时预览**
|
|
|
|
|
|
- 切换到"丰富预览"模式查看真实效果
|
|
|
|
|
|
- 调整参数时预览会实时更新
|
|
|
|
|
|
|
|
|
|
|
|
4. **保存样式**
|
|
|
|
|
|
- 点击"保存样式"覆盖当前样式
|
|
|
|
|
|
- 或点击"另存为"创建新样式
|
|
|
|
|
|
|
|
|
|
|
|
### Markdown 语法支持
|
|
|
|
|
|
|
|
|
|
|
|
支持的 Markdown 语法:
|
|
|
|
|
|
|
2025-10-15 17:54:51 +08:00
|
|
|
|
```
|
2025-09-26 15:49:06 +08:00
|
|
|
|
# 一级标题
|
|
|
|
|
|
## 二级标题
|
|
|
|
|
|
### 三级标题
|
|
|
|
|
|
|
|
|
|
|
|
**粗体文字**
|
|
|
|
|
|
*斜体文字*
|
|
|
|
|
|
|
|
|
|
|
|
> 引用块内容
|
|
|
|
|
|
|
|
|
|
|
|
- 无序列表项
|
|
|
|
|
|
- 无序列表项
|
|
|
|
|
|
|
|
|
|
|
|
1. 有序列表项
|
|
|
|
|
|
2. 有序列表项
|
|
|
|
|
|
|
|
|
|
|
|
`行内代码`
|
|
|
|
|
|
|
2025-10-15 17:54:51 +08:00
|
|
|
|
``代码块```
|
2025-09-26 15:49:06 +08:00
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## ⚙️ 配置说明
|
|
|
|
|
|
|
|
|
|
|
|
### 样式配置
|
|
|
|
|
|
样式配置文件位于 `data/styles/` 目录,为 JSON 格式:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"name": "自定义样式",
|
|
|
|
|
|
"description": "样式描述",
|
|
|
|
|
|
"body_font": {
|
|
|
|
|
|
"name": "微软雅黑",
|
|
|
|
|
|
"size": 14,
|
|
|
|
|
|
"color": "#000000",
|
|
|
|
|
|
"bold": false,
|
|
|
|
|
|
"italic": false
|
|
|
|
|
|
},
|
|
|
|
|
|
"body_paragraph": {
|
|
|
|
|
|
"line_spacing": 1.5,
|
|
|
|
|
|
"first_line_indent": 2.0,
|
|
|
|
|
|
"space_before": 0,
|
|
|
|
|
|
"space_after": 6
|
|
|
|
|
|
},
|
|
|
|
|
|
"heading_styles": {
|
|
|
|
|
|
"1": {
|
|
|
|
|
|
"font": {
|
|
|
|
|
|
"name": "黑体",
|
|
|
|
|
|
"size": 18,
|
|
|
|
|
|
"color": "#1F497D",
|
|
|
|
|
|
"bold": true
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 错别字配置
|
|
|
|
|
|
错别字映射表位于 `data/error_chars.json`:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"错别字1": "正确字1",
|
|
|
|
|
|
"错别字2": "正确字2"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🔧 开发指南
|
|
|
|
|
|
|
|
|
|
|
|
### 代码架构
|
|
|
|
|
|
- **模块化设计** - 功能模块独立,低耦合高内聚
|
|
|
|
|
|
- **配置驱动** - 通过配置文件管理样式和参数
|
|
|
|
|
|
- **事件驱动** - GUI 采用事件驱动模式
|
|
|
|
|
|
- **插件化** - 易于扩展新功能和样式
|
|
|
|
|
|
|
|
|
|
|
|
### 扩展开发
|
|
|
|
|
|
|
|
|
|
|
|
#### 添加新样式
|
|
|
|
|
|
1. 在 `style_manager.py` 的 `_create_builtin_styles()` 中添加样式定义
|
|
|
|
|
|
2. 配置字体、段落、标题等样式参数
|
|
|
|
|
|
3. 重启程序即可使用新样式
|
|
|
|
|
|
|
|
|
|
|
|
#### 添加新的文本处理功能
|
|
|
|
|
|
1. 在 `text_processor.py` 中添加处理函数
|
|
|
|
|
|
2. 在 `batch_processor.py` 中调用新功能
|
|
|
|
|
|
3. 可选:在 GUI 中添加相应配置选项
|
|
|
|
|
|
|
2025-10-15 17:54:51 +08:00
|
|
|
|
#### 段落句子数控制
|
|
|
|
|
|
1. 在配置界面的"文字处理"选项卡中设置"每段最大句子数"
|
|
|
|
|
|
2. 设置为0表示不限制,大于0的数值表示每段最多包含的句子数
|
|
|
|
|
|
3. 程序会自动将超过限制的段落分割成多个段落
|
|
|
|
|
|
|
2025-09-26 15:49:06 +08:00
|
|
|
|
#### 扩展图片处理
|
|
|
|
|
|
1. 在 `image_processor.py` 中添加新的处理方法
|
|
|
|
|
|
2. 支持新的图片格式或处理效果
|
|
|
|
|
|
3. 在 `docx_generator.py` 中集成新功能
|
|
|
|
|
|
|
|
|
|
|
|
## 🐛 常见问题
|
|
|
|
|
|
|
|
|
|
|
|
### Q: 程序启动失败
|
|
|
|
|
|
A: 请检查 Python 版本(需要3.7+)和依赖包安装:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pip install python-docx pillow tkinter
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Q: 中文乱码问题
|
|
|
|
|
|
A: 程序会自动检测文件编码,如仍有问题请确保TXT文件保存为UTF-8编码。
|
|
|
|
|
|
|
|
|
|
|
|
### Q: 样式保存失败
|
|
|
|
|
|
A: 检查 `data/styles/` 目录的写入权限,必要时以管理员身份运行程序。
|
|
|
|
|
|
|
|
|
|
|
|
### Q: 图片无法插入
|
|
|
|
|
|
A: 确保图片路径正确,支持相对路径和绝对路径,图片格式为 PNG/JPG/GIF。
|
|
|
|
|
|
|
|
|
|
|
|
### Q: 转换速度慢
|
|
|
|
|
|
A: 大文件处理需要时间,可通过批量处理提高效率。图片较多时会影响速度。
|
|
|
|
|
|
|
|
|
|
|
|
## 📝 更新日志
|
|
|
|
|
|
|
|
|
|
|
|
### v2.0.0 (Latest)
|
|
|
|
|
|
- ✨ 新增高级样式编辑器,支持实时预览
|
|
|
|
|
|
- 🎨 重构样式系统,新增8款专业样式模板
|
|
|
|
|
|
- 🖥️ 优化GUI界面,提升用户体验
|
|
|
|
|
|
- 🔧 改进错误处理和异常恢复机制
|
|
|
|
|
|
- 📦 模块化重构,提高代码可维护性
|
|
|
|
|
|
|
|
|
|
|
|
### v1.0.0
|
|
|
|
|
|
- 🎉 初始版本发布
|
|
|
|
|
|
- 📝 基础文本转换功能
|
|
|
|
|
|
- 🎨 简单样式支持
|
|
|
|
|
|
- 🖼️ 图片插入功能
|
|
|
|
|
|
|
|
|
|
|
|
## 🤝 贡献指南
|
|
|
|
|
|
|
|
|
|
|
|
欢迎贡献代码和建议!
|
|
|
|
|
|
|
|
|
|
|
|
1. Fork 本项目
|
|
|
|
|
|
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
|
|
|
|
|
|
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
|
|
|
|
|
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
|
|
|
|
|
5. 开启 Pull Request
|
|
|
|
|
|
|
|
|
|
|
|
### 开发规范
|
|
|
|
|
|
- 遵循 PEP 8 Python 代码规范
|
|
|
|
|
|
- 添加适当的注释和文档字符串
|
|
|
|
|
|
- 编写单元测试(推荐)
|
|
|
|
|
|
- 确保向后兼容性
|
|
|
|
|
|
|
|
|
|
|
|
## 📄 许可证
|
|
|
|
|
|
|
|
|
|
|
|
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件
|
|
|
|
|
|
|
|
|
|
|
|
## 👨💻 作者
|
|
|
|
|
|
|
|
|
|
|
|
- **项目维护者** - 负责项目开发和维护
|
|
|
|
|
|
|
|
|
|
|
|
## 🙏 致谢
|
|
|
|
|
|
|
|
|
|
|
|
- 感谢所有贡献者的支持
|
|
|
|
|
|
- 感谢开源社区提供的优秀库和工具
|
|
|
|
|
|
- 特别感谢用户反馈和建议
|
|
|
|
|
|
|
|
|
|
|
|
## 📞 联系方式
|
|
|
|
|
|
|
|
|
|
|
|
如有问题或建议,欢迎通过以下方式联系:
|
|
|
|
|
|
|
|
|
|
|
|
- 提交 Issue
|
|
|
|
|
|
- 邮件咨询
|
|
|
|
|
|
- 微信交流群
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
**让文本转换变得简单而美好!** ✨
|