# word-diff **Repository Path**: lqc1988/word-diff ## Basic Information - **Project Name**: word-diff - **Description**: word文档比对工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-31 - **Last Updated**: 2025-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Word Diff Word Diff 是一个文档对比工具,能够帮助用户上传两个 Word 文档并进行内容比较,以可视化的方式展示文本和图片的差异。 ## 功能特点 - **文档上传**:支持上传两个 Word 文档进行比较。 - **文本对比**:逐行对比文档中的文本内容,标记出差异。 - **图片对比**:识别文档中的图片并进行比较,显示图片差异。 - **可视化展示**:通过前端界面清晰展示文档对比结果,包括文本差异和图片差异。 ## 技术架构 项目分为两个主要部分: - **后端(server)**:基于 Spring Boot 实现,负责文档解析、内容提取和对比逻辑。 - 使用 Apache POI 解析 Word 文档。 - 提供 REST API 用于文档上传和对比。 - **前端(web)**:基于 React 实现,提供用户界面展示对比结果。 - 支持文件上传和对比操作。 - 展示文本和图片的对比结果。 ## 接口说明 ### 文档上传 - **POST /api/upload-word** - 上传一个 Word 文档。 - 参数:`file`(MultipartFile) ### 文档对比 - **POST /compare-documents** - 对比两个文档。 - 请求体包含两个文档的元素列表: ```json { "leftElements": [...], "rightElements": [...] } ``` - 返回对比结果,包括文本和图片的差异。 ## 使用说明 1. **启动后端服务** - 确保已安装 Java 和 Maven。 - 进入 `server` 目录,运行以下命令: ```bash mvn spring-boot:run ``` 2. **启动前端应用** - 确保已安装 Node.js 和 npm。 - 进入 `web` 目录,运行以下命令: ```bash npm start ``` 3. **使用应用** - 打开浏览器访问 `http://localhost:3000`。 - 上传两个 Word 文档并点击“对比”按钮查看结果。 ## 项目结构 - **server** - `DemoApplication.java`:Spring Boot 主类。 - `DiffController.java`:处理文档上传和对比请求。 - `DocumentComparisonService.java`:实现文档对比逻辑。 - `model`:包含文档元素和对比结果的数据模型。 - **web** - `src/App.js`:React 主组件。 - `src/components/WordComparison.js`:实现文档对比界面。 - `src/components/WordComparison.css`:样式文件。 ## 依赖项 - **后端** - JDK17 - Spring Boot - Apache POI(用于 Word 文档解析) - **前端** - React - Axios(用于 API 请求) ## 许可证 本项目使用 MIT 许可证。详情请查看 [LICENSE](LICENSE) 文件。