# pdfView **Repository Path**: yin_boning/pdf-view ## Basic Information - **Project Name**: pdfView - **Description**: pdf,md,jpg预览 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-16 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文件预览系统 基于 Java 21 + Spring Boot 的文件预览和编辑系统。 ## 功能特性 - 📁 **文件树浏览**:左侧显示文件层级结构,支持目录展开/折叠 - 👁️ **文件预览**:支持多种文件格式的预览 - Markdown (.md) - 支持预览和编辑 - Word (.docx, .doc) - 支持预览和编辑 - PDF (.pdf) - 仅预览,不支持编辑 - 文本文件 (.txt) - 支持预览和编辑 - ✏️ **文件编辑**:Markdown 和 Word 文件支持在线编辑 - 💾 **文件保存**:编辑后的文件可以保存到服务器 ## 技术栈 - **后端**:Java 21 + Spring Boot 3.2.0 - **前端**:原生 JavaScript + HTML + CSS - **依赖库**: - Apache POI - Word 文档处理 - CommonMark - Markdown 解析 - PDF.js - PDF 预览 - EasyMDE - Markdown 编辑器 ## 快速开始 ### 1. 配置根目录 编辑 `src/main/resources/application.properties`,设置文件根目录: ```properties file.root.directory=C:\\Users\\YourName\\Documents\\files ``` **注意**:Windows 路径需要使用双反斜杠 `\\` 或正斜杠 `/` ### 2. 编译和运行 ```bash # 使用 Maven 编译 mvn clean package # 运行应用 mvn spring-boot:run ``` 或者直接运行主类: ```bash java -jar target/file-viewer-1.0.0.jar ``` ### 3. 访问应用 打开浏览器访问:`http://localhost:8080` ## 使用说明 1. **浏览文件**:在左侧文件树中点击文件夹可以展开/折叠,点击文件可以预览 2. **编辑文件**: - 点击文件后,点击右上角的"编辑"按钮进入编辑模式 - 对于 Markdown 文件,会显示富文本编辑器 - 对于 Word 文件,会显示文本编辑器 - 编辑完成后点击"保存"按钮 3. **预览 PDF**:点击 PDF 文件会自动在右侧显示预览,支持翻页 ## 项目结构 ``` mdView/ ├── src/ │ └── main/ │ ├── java/ │ │ └── com/fileviewer/ │ │ ├── FileViewerApplication.java # 主应用类 │ │ ├── config/ │ │ │ └── WebConfig.java # Web配置 │ │ ├── controller/ │ │ │ └── FileController.java # 文件API控制器 │ │ ├── model/ │ │ │ └── FileNode.java # 文件节点模型 │ │ └── service/ │ │ └── FileService.java # 文件服务 │ └── resources/ │ ├── application.properties # 应用配置 │ └── static/ │ ├── index.html # 前端页面 │ ├── css/ │ │ └── style.css # 样式文件 │ └── js/ │ └── app.js # 前端逻辑 ├── pom.xml # Maven配置 └── README.md # 说明文档 ``` ## API 接口 ### 获取文件树 ``` GET /api/files/tree?path=相对路径 ``` ### 获取文件内容 ``` GET /api/files/content?path=相对路径 ``` ### 保存文件 ``` POST /api/files/save Content-Type: application/json { "path": "相对路径", "content": "文件内容" } ``` ### 预览文件(PDF等) ``` GET /api/files/preview?path=相对路径 ``` ## 注意事项 1. **安全性**:系统会检查文件路径,确保只能访问配置的根目录下的文件 2. **文件大小**:默认最大文件大小为 100MB,可在配置文件中修改 3. **Word 文件编辑**:Word 文件的编辑功能会将文档转换为纯文本,保存时会重新创建 Word 文档,可能会丢失原有格式 4. **PDF 预览**:使用 PDF.js 库进行预览,支持多页翻页 ## 开发环境要求 - JDK 21 或更高版本 - Maven 3.6 或更高版本 ## 许可证 MIT License