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

⚙️ 配置说明
样式配置
样式配置文件位于 data/styles/ 目录,为 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:
{
"错别字1": "正确字1",
"错别字2": "正确字2"
}
🔧 开发指南
代码架构
- 模块化设计 - 功能模块独立,低耦合高内聚
- 配置驱动 - 通过配置文件管理样式和参数
- 事件驱动 - GUI 采用事件驱动模式
- 插件化 - 易于扩展新功能和样式
扩展开发
添加新样式
- 在
style_manager.py的_create_builtin_styles()中添加样式定义 - 配置字体、段落、标题等样式参数
- 重启程序即可使用新样式
添加新的文本处理功能
- 在
text_processor.py中添加处理函数 - 在
batch_processor.py中调用新功能 - 可选:在 GUI 中添加相应配置选项
段落句子数控制
- 在配置界面的"文字处理"选项卡中设置"每段最大句子数"
- 设置为0表示不限制,大于0的数值表示每段最多包含的句子数
- 程序会自动将超过限制的段落分割成多个段落
扩展图片处理
- 在
image_processor.py中添加新的处理方法 - 支持新的图片格式或处理效果
- 在
docx_generator.py中集成新功能
🐛 常见问题
Q: 程序启动失败
A: 请检查 Python 版本(需要3.7+)和依赖包安装:
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
- 🎉 初始版本发布
- 📝 基础文本转换功能
- 🎨 简单样式支持
- 🖼️ 图片插入功能
🤝 贡献指南
欢迎贡献代码和建议!
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
开发规范
- 遵循 PEP 8 Python 代码规范
- 添加适当的注释和文档字符串
- 编写单元测试(推荐)
- 确保向后兼容性
📄 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
👨💻 作者
- 项目维护者 - 负责项目开发和维护
🙏 致谢
- 感谢所有贡献者的支持
- 感谢开源社区提供的优秀库和工具
- 特别感谢用户反馈和建议
📞 联系方式
如有问题或建议,欢迎通过以下方式联系:
- 提交 Issue
- 邮件咨询
- 微信交流群
让文本转换变得简单而美好! ✨