# DocxProcessor **Repository Path**: eersoft/docx-processor ## Basic Information - **Project Name**: DocxProcessor - **Description**: word文档处理器 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-22 - **Last Updated**: 2026-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docx处理器 一个功能强大的Word文档批量处理工具,基于C# WPF (.NET 8) 开发,可以高效处理大量Word文档。 ## 功能特性 ### 文档处理操作 - ✅ **替换文本** - 批量查找并替换文档中的指定文本,支持页眉页脚、脚注尾注等范围 - ✅ **清除页眉页脚** - 批量清除Word文档的所有页眉页脚(包括不同节) - ✅ **调整页边距** - 统一设置文档页边距,支持可视化配置 - ✅ **删除图片** - 智能识别并删除符合条件的图片(按绝对尺寸或页面占比阈值) - ✅ **删除空段落** - 清理文档中的空段落,可选清理页眉页脚、批注、脚注尾注中的空段落 - ✅ **文档保护** - 将文档设置为只读保护模式,防止意外修改 - ✅ **转换为PDF** - 将处理后的文档转换为PDF格式 ### 文档合并与打印 - 📄 **文档合并** - 支持按 自动检测 / Word / WPS / OpenXML 等方式合并多个文档 - 🖨️ **批量打印** - 支持并行打印多个文档,可自定义打印机、份数、颜色模式等 ### 高级功能 - 🚀 **多线程处理** - 支持并发处理多个文档,大幅提升处理效率 - 📁 **文件拖放** - 支持拖拽单个文件、多个文件或整个文件夹 - 📝 **批量添加** - 支持通过文本框批量添加文件路径 - ⏸️ **进度控制** - 支持暂停、恢复和停止处理 - 💾 **进度保存** - 自动保存处理进度,支持断点续传 - 🎨 **主题切换** - 支持浅色和深色主题 - ⚙️ **灵活配置** - 丰富的设置选项,满足不同需求 ## 系统要求 - Windows 10/11 - 构建源码需要 [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)(运行已发布版本需要 .NET 8 Desktop Runtime) - 至少 4GB RAM(推荐 8GB 或更多) - 足够的磁盘空间用于处理文档和生成PDF ## 构建与运行 ### 从源码构建 ```bash # 还原 NuGet 包并编译(Debug) dotnet build DocxProcessor.sln # 以 Release 模式发布 dotnet publish DocxProcessor.sln -c Release ``` ### 运行 编译完成后,直接运行 `bin\Debug\net8.0-windows\DocxProcessor.exe` 即可。 首次运行会自动创建必要的配置文件夹。 ## 使用指南 ### 添加文档 1. **拖拽方式**:直接将Word文档拖拽到程序窗口 2. **文件夹方式**:拖拽整个文件夹,程序会自动扫描其中的Word文档 3. **文本方式**:在文本框中输入文件路径,每行一个 ### 配置处理选项 1. 在右侧设置面板中勾选需要的处理选项 2. 调整页边距参数(单位:厘米) 3. 设置图片删除阈值(绝对尺寸或页面占比) ### 开始处理 1. 点击"开始处理"按钮 2. 程序会按照配置的操作顺序处理文档 3. 可以随时暂停、恢复或停止处理 4. 处理完成后会显示详细的处理报告 ### 高级设置 1. 点击"设置"按钮打开高级设置窗口 2. 调整并发任务数量以优化性能 3. 配置自动保存和日志选项 4. 切换界面主题 ## 技术架构 ### 核心技术栈 - **框架**:WPF (.NET 8, `net8.0-windows`) - **文档处理**:DocumentFormat.OpenXml 2.20.0 - **PDF转换**:iText7 7.2.5 / iText7.pdfhtml 6.2.1 - **数据序列化**:Newtonsoft.Json 13.0.3 - **图像处理**:System.Drawing.Common 7.0.0 - **MVVM**:CommunityToolkit.Mvvm 8.2.2 ### 项目结构 ``` DocxProcessor/ ├── Converters/ # 数据转换器 ├── Interfaces/ # 接口定义 ├── Models/ # 数据模型 ├── Services/ # 业务服务(含 DocxOperations/ 各操作实现) ├── Utils/ # 工具类 ├── Views/ # 视图窗口(含 OperationSettings/ 操作设置窗口) ├── Resources/ # XAML 资源(共享按钮样式等) ├── Properties/ # 程序集属性与发布配置 └── icon/ # 应用图标 ``` ## 性能优化 - **多线程处理**:充分利用多核CPU,支持自定义并发数 - **内存管理**:流式处理大文档,避免内存溢出 - **进度保存**:支持断点续传,避免重复处理 - **错误恢复**:智能错误处理,单个文档失败不影响整体进度 ## 常见问题 ### Q: 程序处理大文档时很慢怎么办? A: 可以尝试以下优化: - 增加并发任务数量(在设置中调整) - 确保有足够的内存空间 - 关闭其他占用内存的程序 ### Q: 为什么有些文档处理失败? A: 可能的原因: - 文档已损坏或格式不支持 - 文档被其他程序占用 - 磁盘空间不足 - 权限不足 ### Q: 如何恢复未完成的处理? A: 程序会自动保存进度,重新启动后可以继续处理未完成的文档。 ## 更新日志 ### v1.0.0 (2024-01-01) - 初始版本发布 - 支持基本的Word文档处理功能 - 实现多线程并发处理 - 添加主题切换功能 ### v1.0.1 (2025) - 修复按钮图标在某些系统上显示为方框的问题:所有图标改为矢量图形(Path),不再依赖 Segoe MDL2 Assets 或 emoji 字体 - 完善 `.gitignore` 与 `README.md` ## 技术支持 - 官方网站:https://www.eersoft.com - 问题反馈:通过程序内"赞助"功能联系 - 更新通知:关注官网最新动态 ## 许可证 本项目采用 [MIT License](LICENSE) 开源许可。 MIT License Copyright (c) 2026 moneky 特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人,不受限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件的副本,并允许向其提供本软件的人这样做,前提是遵守以下条件: 上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。 本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权持有人均不对因本软件或使用本软件或其他交易而产生或与之相关的任何索赔、损害或其他责任负责,无论是合同、侵权或其他行为。 ## 赞助支持 如果您觉得这个工具对您有帮助,欢迎通过以下方式赞助支持: - 微信扫码赞助(程序内查看) - 支付宝:your-alipay@example.com - 微信:your-wechat-id 您的支持将帮助我们持续改进软件! --- **开发者**:Eersoft **版本**:v1.0.1