325 lines
8.9 KiB
Markdown
325 lines
8.9 KiB
Markdown
# 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等)
|
||
- **错别字纠正** - 基于词典的智能错别字替换
|
||
- **文本清洗** - 去除多余空白和格式化字符
|
||
- **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 语法:
|
||
|
||
```markdown
|
||
# 一级标题
|
||
## 二级标题
|
||
### 三级标题
|
||
|
||
**粗体文字**
|
||
*斜体文字*
|
||
|
||
> 引用块内容
|
||
|
||
- 无序列表项
|
||
- 无序列表项
|
||
|
||
1. 有序列表项
|
||
2. 有序列表项
|
||
|
||
`行内代码`
|
||
|
||
```代码块```
|
||
|
||

|
||
```
|
||
|
||
## ⚙️ 配置说明
|
||
|
||
### 样式配置
|
||
样式配置文件位于 `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 中添加相应配置选项
|
||
|
||
#### 扩展图片处理
|
||
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
|
||
- 邮件咨询
|
||
- 微信交流群
|
||
|
||
---
|
||
|
||
**让文本转换变得简单而美好!** ✨ |