TxT2Docx/README.md

331 lines
9.2 KiB
Markdown
Raw Normal View History

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-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-09-26 15:49:06 +08:00
# 一级标题
## 二级标题
### 三级标题
**粗体文字**
*斜体文字*
> 引用块内容
- 无序列表项
- 无序列表项
1. 有序列表项
2. 有序列表项
`行内代码`
``代码块```
2025-09-26 15:49:06 +08:00
![图片](path/to/image.png)
```
## ⚙️ 配置说明
### 样式配置
样式配置文件位于 `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. 在配置界面的"文字处理"选项卡中设置"每段最大句子数"
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
- 邮件咨询
- 微信交流群
---
**让文本转换变得简单而美好!** ✨