# DocumentManager **Repository Path**: an1ju/DocumentManager ## Basic Information - **Project Name**: DocumentManager - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-06 - **Last Updated**: 2025-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文档管理器 (WordFreeStyle) 一个功能强大的现代化文档编辑器,支持结构化文档管理、专业级Word/PDF导出和高度自定义的样式系统。 ## ✨ 核心特性 ### 📝 智能文档结构管理 - ✅ **多级标题支持** - 支持1-6级标题,构建清晰的文档层次结构 - ✅ **直观树形视图** - 实时显示文档结构,支持快速导航和编辑 - ✅ **拖拽重排序** - 支持节点和内容的自由拖拽排序 - ✅ **展开/折叠控制** - 灵活控制文档树的显示层级 - ✅ **根节点编辑** - 支持直接编辑文档标题(根节点) - ✅ **实时结构更新** - 编辑时自动更新文档结构和状态 ### 🎨 专业样式系统 - ✅ **Word样式革新** - 使用专业Word样式定义替代直接格式化 - ✅ **统一样式管理** - 文档标题、各级标题、正文、图片说明的统一样式控制 - ✅ **预设样式库** - 内置学术论文、商务报告、简约风格等专业预设 - ✅ **自定义预设** - 支持保存、加载、删除个人样式预设 - ✅ **实时预览系统** - 样式设置时提供全部/标题/正文/图片的实时预览 - ✅ **样式继承机制** - 正确的Word文档层次结构和样式继承 ### 📄 强大内容编辑 - ✅ **富文本编辑** - 支持格式化文本内容编辑 - ✅ **智能图片管理** - 支持插入、编辑、删除图片,自动去重处理 - ✅ **剪贴板集成** - 直接从剪贴板粘贴图片,支持截图和复制的图片 - ✅ **内容自由排序** - 每个节点下的文本和图片内容可灵活排序 - ✅ **图片说明系统** - 为图片添加说明文字,支持样式自定义 - ✅ **多媒体支持** - 支持多种图片格式的显示和导出 ### 💾 完善文件操作 - ✅ **完整生命周期** - 新建、打开、保存、另存为等完整文档操作 - ✅ **智能保存提醒** - 未保存更改时的自动提醒和确认 - ✅ **JSON数据格式** - 使用结构化JSON格式存储文档数据 - ✅ **文档完整性验证** - 自动验证文档数据的完整性和有效性 - ✅ **Word文档导入** - 支持从现有Word文档导入内容和结构 - ✅ **键盘快捷键** - 完整的快捷键支持,提升编辑效率 ### 📤 专业导出功能 - ✅ **高质量Word导出** - 导出为.docx格式,完美保持格式和结构 - ✅ **专业PDF导出** - 导出为PDF格式,支持中文字体和图片嵌入 - ✅ **样式化导出** - 使用Word样式定义确保导出文档的专业性 - ✅ **图片智能处理** - 导出时自动处理图片大小、对齐和说明 - ✅ **格式完美保持** - 保持标题层级、段落格式和图片布局 - ✅ **导出样式设置** - 可自定义导出文档的所有样式参数 ## 🆕 最新功能亮点 ### 🎨 样式系统革新 - **Word样式集成**: 摒弃直接格式化,采用专业Word样式定义系统 - **预设管理**: 内置多种专业预设,支持自定义预设的保存和管理 - **实时预览**: 样式设置时提供即时预览效果,所见即所得 - **层次结构**: 正确的文档大纲级别和样式继承关系 ### 🔧 技术优化 - **图片导入优化**: 解决了图片不显示和重复显示的问题 - **UI响应性**: 修复了TreeView绑定错误,提升界面稳定性 - **根节点编辑**: 支持直接编辑文档标题,增强用户体验 - **错误处理**: 完善的异常处理和用户友好的错误提示 ## 💻 系统要求 ### 最低要求 - **操作系统**: Windows 10 (版本1903) 或更高版本 - **.NET版本**: .NET 8.0 Runtime - **内存**: 4GB RAM - **磁盘空间**: 200MB 可用空间 - **显示器**: 1024x768 分辨率 ### 推荐配置 - **操作系统**: Windows 11 - **内存**: 8GB RAM 或更高 - **显示器**: 1920x1080 分辨率或更高 - **存储**: SSD 硬盘 ## 🚀 安装和运行 ### 方式一:从源码构建 1. **环境准备** ```bash # 确保已安装 .NET 8.0 SDK dotnet --version ``` 2. **克隆项目** ```bash git clone cd WordFreeStyle/DocumentManager ``` 3. **安装依赖** ```bash dotnet restore ``` 4. **构建项目** ```bash dotnet build --configuration Release ``` 5. **运行程序** ```bash dotnet run ``` ### 方式二:直接运行 如果您有编译好的可执行文件: ```bash DocumentManager.exe ``` ## 📖 详细使用指南 ### 1. 快速开始 #### 创建新文档 - 程序启动时自动创建新文档 - 使用 `Ctrl+N` 或菜单 `文件 > 新建` - 支持基于模板创建文档 #### 导入现有文档 - 使用菜单 `文件 > 导入 > 从Word导入` - 自动解析Word文档结构和内容 - 保持原有的标题层次和格式 ### 2. 文档结构管理 #### 标题层次管理 1. **添加标题** - 点击工具栏 `+` 按钮 - 使用菜单 `编辑 > 添加标题` - 右侧编辑区设置标题文本和级别(1-6) 2. **编辑根标题** - 直接点击文档根节点 - 在右侧编辑区修改文档标题 - 更改会同步到文档属性和窗口标题 3. **调整标题级别** - 选择标题节点 - 使用右侧级别下拉框调整(1-6级) - 自动更新文档大纲结构 #### 内容编辑 1. **文本内容** - 选择标题节点后点击 `T` 按钮 - 支持多行文本和基本格式化 - 实时保存编辑内容 2. **图片内容** - 选择标题节点后点击 `I` 按钮 - 从剪贴板粘贴图片(支持截图、复制图片) - 添加图片说明文字 - 支持图片的删除和替换 ### 3. 样式系统使用 #### 预设样式 1. **选择预设** - 在样式设置窗口选择预设样式 - 内置样式:默认、学术论文、商务报告、简约风格 - 点击"应用预设"立即使用 2. **自定义预设** - 调整各项样式参数 - 点击"保存为新预设" - 输入预设名称并保存 - 可删除不需要的自定义预设 #### 样式参数设置 1. **文档标题** - 字体、字号、颜色、对齐方式 - 粗体、斜体选项 - 段后间距设置 2. **各级标题(H1-H6)** - 每级标题独立设置 - 支持不同的字体和颜色 - 层次化的字号建议 3. **正文样式** - 字体系列和大小 - 行距和段距设置 - 对齐方式选择 4. **图片设置** - 图片对齐方式 - 最大宽度和高度 - 说明文字样式 #### 实时预览 1. **预览类型** - 全部样式:完整文档效果预览 - 标题样式:各级标题效果展示 - 正文样式:正文段落效果演示 - 图片样式:图片和说明效果显示 2. **预览操作** - 点击"预览"按钮自动切换到预览选项卡 - 调整参数后点击"刷新预览"更新效果 - 所见即所得的样式效果 ### 4. 高级文件操作 #### 保存策略 - **自动提醒**: 有未保存更改时会自动提醒 - **快捷保存**: `Ctrl+S` 快速保存 - **另存为**: `Ctrl+Shift+S` 保存为新文件 - **JSON格式**: 使用可读性良好的JSON格式存储 #### 导入功能 - **Word导入**: 支持.docx文件导入 - **结构保持**: 自动识别标题层次 - **内容保持**: 保持文本和图片内容 - **格式转换**: 智能转换为内部格式 ### 5. 专业导出功能 #### Word导出 1. **导出设置** - 选择菜单 `文件 > 导出 > 导出样式设置` - 配置字体、颜色、间距等参数 - 使用预设或自定义样式 2. **执行导出** - 选择 `文件 > 导出 > 导出为Word` - 选择保存位置和文件名 - 自动生成专业的.docx文档 3. **Word样式特性** - 使用Word内置样式系统 - 支持文档大纲和导航 - 保持格式一致性 - 支持样式的全局修改 #### PDF导出 1. **导出流程** - 选择 `文件 > 导出 > 导出为PDF` - 使用当前样式设置 - 自动处理中文字体 2. **PDF特性** - 高质量图片嵌入 - 中文字体支持 - 保持版面布局 - 适合打印和分享 ## 🏗️ 技术架构 ### 核心技术栈 - **UI框架**: WPF (.NET 8.0) - 现代化桌面应用框架 - **编程语言**: C# 12.0 - 最新语言特性 - **数据序列化**: Newtonsoft.Json - 稳定的JSON处理 - **Word处理**: DocumentFormat.OpenXml - 微软官方Word库 - **PDF生成**: iTextSharp.LGPLv2.Core - 专业PDF处理库 ### 架构设计 #### 分层架构 ``` DocumentManager/ ├── 📁 Models/ # 数据模型层 │ ├── 📄 Document.cs # 文档根模型 │ ├── 📄 DocumentNode.cs # 文档节点模型 │ ├── 📄 ContentItem.cs # 内容项基类 │ ├── 📄 ExportStyle.cs # 导出样式模型 │ └── 📄 Various Models... # 其他业务模型 ├── 📁 Services/ # 服务层 │ ├── 📄 DocumentService.cs # 文档业务服务 │ ├── 📄 ExportService.cs # 导出服务 │ └── 📄 StyleService.cs # 样式管理服务 ├── 📁 Views/ # 视图层 │ ├── 📄 MainWindow.xaml # 主界面 │ ├── 📄 StyleSettingsWindow.xaml # 样式设置窗口 │ └── 📄 Various Views... # 其他界面 ├── 📁 Controls/ # 自定义控件 ├── 📁 Converters/ # 数据转换器 ├── 📁 Resources/ # 资源文件 └── 📄 App.xaml # 应用程序入口 ``` #### 设计模式 - **MVVM模式**: 分离视图和业务逻辑 - **服务定位器**: 统一的服务管理 - **观察者模式**: 数据绑定和状态通知 - **工厂模式**: 对象创建和管理 - **策略模式**: 导出格式的扩展性 ### 数据模型设计 #### 核心实体关系 ``` Document (文档) ├── RootNode (根节点) │ ├── Children[] (子节点) │ │ ├── DocumentNode (标题节点) │ │ │ ├── Children[] (子标题) │ │ │ └── Contents[] (内容项) │ │ │ ├── TextContentItem (文本) │ │ │ └── ImageContentItem (图片) │ │ └── ... │ └── Contents[] (根级内容) └── ExportStyle (导出样式) ├── DocumentTitleStyle ├── HeadingStyles[1-6] ├── BodyTextStyle ├── ImageStyle └── PageSettings ``` #### 关键特性 - **递归结构**: 支持无限层级的文档嵌套 - **类型安全**: 强类型的内容项系统 - **数据完整性**: 图片内嵌存储,确保文档自包含 - **实时绑定**: 全面的INotifyPropertyChanged支持 - **序列化友好**: 优化的JSON序列化支持 ### 样式系统架构 #### 样式管理层次 ``` 样式系统 ├── 系统预设样式 │ ├── 默认样式 │ ├── 学术论文样式 │ ├── 商务报告样式 │ └── 简约风格样式 ├── 用户自定义预设 │ ├── 本地文件存储 │ ├── JSON格式保存 │ └── 动态加载管理 └── 运行时样式 ├── 实时预览 ├── 参数验证 └── 样式应用 ``` ## 💡 使用技巧和最佳实践 ### 1. 高效编辑技巧 #### 键盘快捷键 - `Ctrl+N`: 新建文档 - `Ctrl+O`: 打开文档 - `Ctrl+S`: 保存文档 - `Ctrl+Shift+S`: 另存为 - `F5`: 刷新界面 - `Esc`: 取消当前操作 #### 导航技巧 - 使用树形视图快速跳转到文档任意位置 - 利用展开/折叠功能管理复杂文档结构 - 双击节点快速选中并编辑 #### 编辑优化 - 先建立文档大纲,再填充具体内容 - 合理使用标题层级,避免跳级 - 定期保存,避免数据丢失 ### 2. 样式管理建议 #### 样式选择 - **学术文档**: 使用"学术论文"预设,注重内容的层次性 - **商务报告**: 选择"商务报告"预设,突出专业性 - **日常文档**: "简约风格"适合轻松的文档风格 - **个性化需求**: 创建自定义预设,保持一致的品牌风格 #### 样式调整原则 - 保持字体系列的统一性 - 合理设置字号层次,确保可读性 - 颜色搭配要协调,避免过于花哨 - 间距设置要适中,提升阅读体验 ### 3. 图片管理最佳实践 #### 图片优化 - 控制图片文件大小,建议单张不超过2MB - 使用有意义的图片说明文字 - 保持图片风格的一致性 - 定期清理不需要的图片内容 #### 插入技巧 - 截图后直接粘贴,提高效率 - 为重要图片添加详细说明 - 合理安排图片在文档中的位置 - 注意图片的对齐和排版 ### 4. 导出优化策略 #### 导出前检查 - 确认文档结构的完整性 - 检查所有图片是否正常显示 - 验证样式设置是否符合要求 - 预览导出效果 #### 格式选择 - **Word格式**: 需要后续编辑的文档 - **PDF格式**: 最终发布和分享的文档 - 根据接收方的需求选择合适格式 ## 🔧 故障排除 ### 常见问题及解决方案 #### 程序启动问题 **问题**: 程序无法启动或启动后立即关闭 **解决方案**: 1. 确认已安装 .NET 8.0 Runtime 2. 以管理员权限运行程序 3. 检查系统兼容性 4. 查看Windows事件日志获取详细错误信息 #### 文档操作问题 **问题**: 文档无法保存或打开 **解决方案**: 1. 检查文件路径权限 2. 确保磁盘空间充足 3. 验证文件格式是否正确 4. 尝试另存为到不同位置 #### 图片显示问题 **问题**: 图片无法显示或显示错误 **解决方案**: 1. 检查图片格式支持(支持PNG、JPG、BMP等) 2. 确认图片文件未损坏 3. 重新粘贴图片 4. 检查内存使用情况 #### 导出失败问题 **问题**: Word或PDF导出失败 **解决方案**: 1. 确保目标文件夹有写入权限 2. 检查磁盘空间是否充足 3. 关闭可能占用目标文件的程序 4. 尝试导出到不同位置 5. 检查文档内容是否有特殊字符 #### 样式问题 **问题**: 样式预览或应用异常 **解决方案**: 1. 重启样式设置窗口 2. 重置为默认样式 3. 检查自定义预设文件是否损坏 4. 清理样式缓存 ### 性能优化建议 #### 大文档处理 - 避免在单个文档中插入过多大图片 - 合理组织文档结构,避免过深的层级 - 定期保存,避免数据丢失 - 关闭不需要的应用程序释放内存 #### 内存管理 - 定期重启程序释放内存 - 避免同时打开多个大文档 - 及时删除不需要的图片内容 ## 📈 版本历史和更新日志 ### v1.2.0 (当前版本) - 样式系统革新版 **发布日期**: 2024年最新版本 **🆕 主要新功能**: - ✨ **Word样式系统改革**: 完全重构导出机制,使用专业Word样式定义 - ✨ **预设管理系统**: 支持自定义样式预设的保存、加载、删除 - ✨ **实时预览功能**: 样式设置时提供即时预览效果 - ✨ **根节点编辑**: 支持直接编辑文档标题 - ✨ **Word文档导入**: 完整的Word文档导入功能 **🔧 重要改进**: - 🛠️ 修复图片导入问题,解决图片不显示和重复显示 - 🛠️ 优化TreeView界面,解决绑定错误问题 - 🛠️ 增强错误处理和用户体验 - 🛠️ 提升导出文档的专业性和兼容性 **🎨 样式系统特性**: - 内置4种专业预设样式 - 支持文档标题、1-6级标题、正文、图片说明的完整样式定义 - 实时预览支持全部样式、标题样式、正文样式、图片样式四种模式 - 用户预设自动保存到本地,支持跨会话使用 ### v1.1.0 - 功能增强版 **🆕 新增功能**: - ✅ Word文档导入支持 - ✅ 图片剪贴板粘贴 - ✅ 文档统计信息 - ✅ 键盘快捷键支持 **🔧 改进项**: - 🛠️ 优化用户界面响应性 - 🛠️ 增强文件处理稳定性 - 🛠️ 改进图片处理性能 ### v1.0.0 - 初始发布版 **📦 基础功能**: - ✅ 基础文档编辑功能 - ✅ 多级标题支持 - ✅ 文本和图片内容管理 - ✅ Word/PDF基础导出 - ✅ JSON文件保存/加载 ## 🚧 开发路线图 ### 短期计划 (v1.3.0) - 🔄 **撤销/重做系统**: 完整的操作历史管理 - 🔄 **文档模板**: 预定义的文档模板系统 - 🔄 **批量操作**: 支持多选和批量编辑 - 🔄 **搜索功能**: 全文搜索和替换 - 🔄 **打印支持**: 直接打印功能 ### 中期计划 (v1.4.0) - 🔄 **插件系统**: 支持第三方功能扩展 - 🔄 **主题系统**: 多种界面主题选择 - 🔄 **协作功能**: 多人协作编辑支持 - 🔄 **版本控制**: 文档版本历史管理 - 🔄 **云端同步**: 支持云存储同步 ### 长期计划 (v2.0.0) - 🔄 **跨平台支持**: macOS和Linux版本 - 🔄 **Web版本**: 基于浏览器的在线编辑器 - 🔄 **移动端**: 移动设备的查看和轻度编辑 - 🔄 **AI集成**: 智能写作辅助功能 - 🔄 **企业版**: 企业级功能和部署支持 ## 🤝 贡献指南 ### 欢迎贡献 我们欢迎所有形式的贡献,包括但不限于: - 🐛 Bug报告和修复 - ✨ 新功能建议和实现 - 📚 文档改进 - 🎨 界面优化 - 🔧 性能优化 - 🌐 国际化支持 ### 开发环境设置 #### 环境要求 - **IDE**: Visual Studio 2022 (推荐) 或 VS Code - **SDK**: .NET 8.0 SDK - **Git**: 用于版本控制 - **系统**: Windows 10/11 (开发环境) #### 设置步骤 1. **克隆仓库** ```bash git clone cd WordFreeStyle ``` 2. **安装依赖** ```bash dotnet restore ``` 3. **构建项目** ```bash dotnet build ``` 4. **运行测试** ```bash dotnet test ``` ### 代码规范 #### C#编码标准 - 遵循Microsoft C#编码约定 - 使用有意义的变量和方法名 - 添加适当的XML文档注释 - 保持代码的可读性和可维护性 #### XAML规范 - 合理组织XAML结构 - 使用有意义的控件名称 - 适当使用样式和模板 - 保持界面的一致性 #### 提交规范 - 使用清晰的提交消息 - 每个提交专注于单一功能或修复 - 包含必要的测试用例 - 更新相关文档 ### 报告问题 #### Bug报告 使用GitHub Issues报告问题时,请包含: - 详细的问题描述 - 重现步骤 - 期望行为 - 实际行为 - 系统环境信息 - 相关的错误日志或截图 #### 功能请求 提出新功能建议时,请说明: - 功能的详细描述 - 使用场景和需求背景 - 期望的用户体验 - 可能的实现方案 ## 📄 许可证和法律声明 ### 开源许可证 本项目采用 **MIT许可证**,这意味着: - ✅ 免费使用、修改和分发 - ✅ 商业和非商业用途均可 - ✅ 可以集成到其他项目中 - ⚠️ 需要保留原始许可证声明 - ⚠️ 作者不提供任何保证 ### 第三方组件 本项目使用了以下开源组件: - **Newtonsoft.Json**: MIT许可证 - **DocumentFormat.OpenXml**: MIT许可证 - **iTextSharp.LGPLv2.Core**: LGPL v2许可证 ### 免责声明 - 本软件按"现状"提供,不提供任何明示或暗示的保证 - 作者不对使用本软件造成的任何损失负责 - 用户应自行承担使用风险 ## 📞 支持和联系 ### 获取帮助 - **📖 文档**: 查看本README文件和代码注释 - **🐛 问题报告**: 通过GitHub Issues报告Bug - **💡 功能建议**: 通过GitHub Issues提出建议 - **📧 邮件支持**: 发送邮件到开发者邮箱 ### 社区支持 - **GitHub讨论**: 参与GitHub Discussions - **问题解答**: 查看已有的Issue和Wiki - **最佳实践**: 分享使用经验和技巧 ### 商业支持 如需商业级支持,请联系: - 定制开发服务 - 企业级功能开发 - 技术咨询和培训 - 部署和维护支持 --- ## 🎉 致谢 感谢所有为这个项目做出贡献的开发者、测试人员和用户! **享受高效、专业的文档编辑体验!** 📝✨ --- *最后更新: 2024年* *版本: v1.2.0*