Skip to content

Commit be60237

Browse files
committed
Merge PR342 into master with trust-host conflict resolution
2 parents 02bcd35 + 9d72706 commit be60237

1,379 files changed

Lines changed: 572411 additions & 284552 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.cn.md

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# kkFileView
22
文档在线预览项目解决方案,项目使用流行的spring boot搭建,易上手和部署。万能的文件预览开源项目,基本支持主流文档格式预览,如:
3-
1. 支持 doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx,xlam, xla ,pages 等 Office 办公文档
3+
1. 支持 doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx,xlam, xla ,pages ,pptm 等 Office 办公文档
44
2. 支持 wps, dps, et, ett, wpt 等国产 WPS Office 办公文档
55
3. 支持 odt, ods, ots, odp, otp, six, ott, fodt, fods 等OpenOffice、LibreOffice 办公文档
66
4. 支持 vsd, vsdx 等 Visio 流程图文件
@@ -9,18 +9,18 @@
99
7. 支持 pdf ,ofd, rtf 等文档
1010
8. 支持 xmind 软件模型文件
1111
9. 支持 bpmn 工作流文件
12-
10. 支持 eml 邮件文件
12+
10. 支持 eml, msg 邮件文件
1313
11. 支持 epub 图书文档
1414
12. 支持 obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, dae, wrl, 3mf, ifc, brep, step, iges, fcstd, bim 等 3D 模型文件
1515
13. 支持 dwg, dxf, dwf, iges , igs, dwt, dng, ifc, dwfx, stl, cf2, plt 等 CAD 模型文件
1616
14. 支持 txt, xml(渲染), xbrl(渲染), md(渲染), java, php, py, js, css 等所有纯文本
1717
15. 支持 zip, rar, jar, tar, gzip, 7z 等压缩包
18-
16. 支持 jpg, jpeg, png, gif, bmp, ico, jfif, webp 等图片预览(翻转,缩放,镜像)
18+
16. 支持 jpg, jpeg, png, gif, bmp, ico, jfif, webp ,heic ,heif等图片预览(翻转,缩放,镜像)
1919
17. 支持 tif, tiff 图信息模型文件
2020
18. 支持 tga 图像格式文件
2121
19. 支持 svg 矢量图像格式文件
2222
20. 支持 mp3,wav,mp4,flv 等音视频格式文件
23-
21. 支持 avi,mov,rm,webm,ts,rm,mkv,mpeg,ogg,mpg,rmvb,wmv,3gp,ts,swf 等视频格式转码预览
23+
21. 支持 avi,mov,rm,webm,ts,rm,mkv,mpeg,ogg,mpg,rmvb,wmv,3gp,ts 等视频格式转码预览
2424
22. 支持 dcm 等医疗数位影像预览
2525
23. 支持 drawio 绘图预览
2626

@@ -149,6 +149,47 @@ pdf预览模式预览效果如下
149149

150150
### 历史更新记录
151151

152+
#### > 2026年01月20日,v5.0 版本发布 :
153+
#### 优化内容
154+
1. xlsx 前端解析优化 - 提升Excel文件前端渲染性能
155+
2. 图片解析优化 - 改进图片处理机制
156+
3. tif 解析优化 - 增强TIF格式支持
157+
4. svg 解析优化 - 优化SVG矢量图渲染
158+
5. json 解析优化 - 改进JSON文件处理
159+
6. ftp多客户端接入优化 - 提升FTP服务兼容性
160+
7. 首页目录访问优化 - 采用post服务端分页机制
161+
8. marked 解析优化 - 改进Markdown渲染
162+
163+
#### 新增功能
164+
1. msg邮件解析 - 新增msg格式邮件文件预览支持
165+
2. heic图片解析 - 新增HEIC格式图片预览支持
166+
3. 跨域方法 - 新增跨域处理机制
167+
4. 高亮方法 - 新增文本高亮功能
168+
5. 页码方法 - 新增文档页码控制
169+
6. AES加密方法 - 新增AES加密支持
170+
7. Basic鉴权方法 - 新增Basic认证机制
171+
8. 秘钥方法 - 新增密钥管理功能
172+
9. 防重复转换 - 新增重复文件转换防护
173+
10. 异步等待 - 新增异步处理机制
174+
11. 上传限制 - 新增不支持文件上传限制
175+
12. cadviewer转换方法 - 新增CAD查看器转换功能
176+
177+
#### 修复问题
178+
1. 压缩包路径问题 - 修复压缩包内部路径处理
179+
2. 安全问题 - 修复安全漏洞
180+
3. 图片水印不全问题 - 修复水印显示不完整
181+
4. SSL自签证书接入问题 - 修复自签名证书兼容性
182+
183+
#### 更新内容
184+
1. JDK版本要求 - 强制要求JDK 21及以上版本
185+
2. pdf前端解析更新 - 升级PDF前端渲染组件
186+
3. odf前端解析更新 - 升级ODF文档前端渲染
187+
4. 3D模型前端解析更新 - 升级3D模型查看器
188+
5. pdf后端异步转换优化 - 实现多线程异步转换
189+
6. tif后端异步转换优化 - 实现多线程异步转换
190+
7. 视频后端异步转换优化 - 实现多线程异步转换
191+
8. CAD后端异步转换优化 - 实现多线程异步转换
192+
152193
#### > 2025年01月16日,v4.4.0 版本发布 :
153194

154195
### 新增功能

README.md

Lines changed: 171 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Document online preview project solution, built using the popular Spring Boot framework for easy setup and deployment. This versatile open source project provides basic support for a wide range of document formats, including:
66

7-
1. Supports Office documents such as `doc`, `docx`, `xls`, `xlsx`, `xlsm`, `ppt`, `pptx`, `csv`, `tsv`, , `dotm`, `xlt`, `xltm`, `dot`, `xlam`, `dotx`, `xla,` ,`pages` etc.
7+
1. Supports Office documents such as `doc`, `docx`, `xls`, `xlsx`, `xlsm`, `ppt`, `pptx`, `csv`, `tsv`, , `dotm`, `xlt`, `xltm`, `dot`, `xlam`, `dotx`, `xla,` ,`pages` ,`pptm` etc.
88
2. Supports domestic WPS Office documents such as `wps`, `dps`, `et` , `ett`, ` wpt`.
99
3. Supports OpenOffice, LibreOffice office documents such as `odt`, `ods`, `ots`, `odp`, `otp`, `six`, `ott`, `fodt` and `fods`.
1010
4. Supports Visio flowchart files such as `vsd`, `vsdx`.
@@ -13,13 +13,13 @@ Document online preview project solution, built using the popular Spring Boot fr
1313
7. Supports document formats like `pdf`, `ofd`, and `rtf`.
1414
8. Supports software model files like `xmind`.
1515
9. Support for `bpmn` workflow files.
16-
10. Support for `eml` mail files
16+
10. Support for `eml` , `msg` mail files
1717
11. Support for `epub` book documents
1818
12. Supports 3D model files like `obj`, `3ds`, `stl`, `ply`, `gltf`, `glb`, `off`, `3dm`, `fbx`, `dae`, `wrl`, `3mf`, `ifc`, `brep`, `step`, `iges`, `fcstd`, `bim`, etc.
1919
13. Supports CAD model files such as `dwg`, `dxf`, `dwf` `iges` ,` igs`, `dwt` , `dng` , `ifc` , `dwfx` , `stl` , `cf2` , `plt`, etc.
2020
14. Supports all plain text files such as `txt`, `xml` (rendering), `md` (rendering), `java`, `php`, `py`, `js`, `css`, etc.
2121
15. Supports compressed packages such as `zip`, `rar`, `jar`, `tar`, `gzip`, `7z`, etc.
22-
16. Supports image previewing (flip, zoom, mirror) of `jpg`, `jpeg`, `png`, `gif`, `bmp`, `ico`, `jfif`, `webp`, etc.
22+
16. Supports image previewing (flip, zoom, mirror) of `jpg`, `jpeg`, `png`, `gif`, `bmp`, `ico`, `jfif`, `webp`, `heic`, ,`heif` etc.
2323
17. Supports image information model files such as `tif` and `tiff`.
2424
18. Supports image format files such as `tga`.
2525
19. Supports vector image format files such as `svg`.
@@ -63,6 +63,174 @@ URL:[https://file.kkview.cn](https://file.kkview.cn)
6363

6464
2. second step:Run the main method of `/server/src/main/java/cn/keking/ServerMain.java`. After starting,visit `http://localhost:8012/`.
6565

66+
## Change History
67+
68+
### Version 5.0 (January 20, 2026)
69+
70+
#### Optimizations
71+
1. Enhanced xlsx front-end parsing - Improved Excel file front-end rendering performance
72+
2. Optimized image parsing - Enhanced image processing mechanism
73+
3. Improved tif parsing - Enhanced TIF format support
74+
4. Enhanced svg parsing - Optimized SVG vector image rendering
75+
5. Improved json parsing - Enhanced JSON file processing
76+
6. Optimized ftp multi-client access - Improved FTP service compatibility
77+
7. Enhanced home page directory access - Implemented post server-side pagination mechanism
78+
8. Improved marked parsing - Enhanced Markdown rendering
79+
80+
#### New Features
81+
1. msg email parsing - Added support for msg format email file preview
82+
2. heic image parsing - Added support for HEIC format image preview
83+
3. Cross-domain methods - Added cross-domain processing mechanism
84+
4. Highlighting methods - Added text highlighting functionality
85+
5. Pagination methods - Added document page control
86+
6. AES encryption methods - Added AES encryption support
87+
7. Basic authentication methods - Added Basic authentication mechanism
88+
8. Key management methods - Added key management functionality
89+
9. Anti-duplicate conversion - Added duplicate file conversion protection
90+
10. Async waiting - Added asynchronous processing mechanism
91+
11. Upload restrictions - Added restrictions for unsupported file uploads
92+
12. cadviewer conversion methods - Added CAD viewer conversion functionality
93+
94+
#### Fixed Issues
95+
1. Compressed file path issues - Fixed internal path handling in compressed files
96+
2. Security issues - Fixed security vulnerabilities
97+
3. Incomplete image watermark issues - Fixed incomplete watermark display
98+
4. SSL self-signed certificate access issues - Fixed compatibility with self-signed certificates
99+
100+
#### Updates
101+
1. JDK version requirement - Mandatory requirement for JDK 21 or higher
102+
2. pdf front-end parsing update - Upgraded PDF front-end rendering component
103+
3. odf front-end parsing update - Upgraded ODF document front-end rendering
104+
4. 3D model front-end parsing update - Upgraded 3D model viewer
105+
5. pdf backend async conversion optimization - Implemented multi-threaded asynchronous conversion
106+
6. tif backend async conversion optimization - Implemented multi-threaded asynchronous conversion
107+
7. Video backend async conversion optimization - Implemented multi-threaded asynchronous conversion
108+
8. CAD backend async conversion optimization - Implemented multi-threaded asynchronous conversion
109+
110+
### Version 4.4.0 (January 16, 2025)
111+
112+
#### New Features
113+
1. xlsx printing support
114+
2. Added GZIP compression enablement in configuration
115+
3. CAD format now supports conversion to SVG and TIF formats, added timeout termination and thread management
116+
4. Added captcha verification for file deletion
117+
5. Added xbrl format preview support
118+
6. PDF preview added control over signatures, drawings, illustration control, search positioning pagination, and display content definition
119+
7. Added CSV format front-end parsing support
120+
8. Added Docker image support for ARM64
121+
9. Added Office preview conversion timeout property setting
122+
10. Added preview file host blacklist mechanism
123+
124+
#### Optimizations
125+
1. Optimized OFD mobile preview page adaptability
126+
2. Updated xlsx front-end parsing component to accelerate parsing speed
127+
3. Upgraded CAD component
128+
4. Office function adjustments, supporting comments, conversion page limit, watermark generation, etc.
129+
5. Upgraded markdown component
130+
6. Upgraded dcm parsing component
131+
7. Upgraded PDF.JS parsing component
132+
8. Changed video player plugin to ckplayer
133+
9. Smarter tif parsing, supporting modified image formats
134+
10. Improved character encoding detection accuracy for large and small text files, handling concurrency vulnerabilities
135+
11. Refactored file download code, added general file server authentication access design
136+
12. Updated bootstrap component and streamlined unnecessary files
137+
13. Updated epub version, optimized epub display effect
138+
14. Fixed issue where scheduled cache cleanup only deleted disk cache files for multimedia file types
139+
15. Auto-detection of installed Office components, added default paths for LibreOffice 7.5 & 7.6 versions
140+
16. Changed drawio default to preview mode
141+
17. Added PDF thread management, timeout management, memory cache management, updated PDF parsing component version
142+
18. Optimized Dockerfile for true cross-platform image building
143+
144+
#### Fixes
145+
1. Fixed forceUpdatedCache property setting issue where local cache files weren't updated
146+
2. Fixed PDF decryption error after successful encrypted file conversion
147+
3. Fixed BPMN cross-domain support issue
148+
4. Fixed special character error in compressed package secondary reverse proxy
149+
5. Fixed video cross-domain configuration causing video preview failure
150+
6. Fixed TXT text pagination secondary loading issue
151+
7. Fixed Drawio missing Base64 component issue
152+
8. Fixed Markdown escaping issue
153+
9. Fixed EPUB cross-domain error
154+
10. Fixed URL special character issues
155+
11. Fixed compressed package traversal vulnerability
156+
12. Fixed compressed file path errors, image collection path errors, watermark issues, etc.
157+
13. Fixed front-end parsing XLSX containing EMF format file errors
158+
159+
### Version 4.3.0 (July 5, 2023)
160+
161+
#### New Features
162+
1. Added DCM medical digital imaging preview
163+
2. Added drawio drawing preview
164+
3. Added command to regenerate with cache enabled: &forceUpdatedCache=true
165+
4. Added dwg CAD file preview
166+
5. Added PDF file password support
167+
6. Added DPI customization for PDF file image generation
168+
7. Added configuration to delete converted OFFICE, CAD, TIFF, compressed package source files (enabled by default to save disk space)
169+
8. Added front-end xlsx parsing method
170+
9. Added support for pages, eps, iges, igs, dwt, dng, ifc, dwfx, stl, cf2, plt and other formats
171+
172+
#### Optimizations
173+
1. Modified generated PDF file names to include file extensions to prevent duplicate names
174+
2. Adjusted SQL file preview method
175+
3. Optimized OFD preview compatibility
176+
4. Beautified TXT text pagination box display
177+
5. Upgraded Linux/Docker built-in office to LibreOffice-7.5.3
178+
6. Upgraded Windows built-in office to LibreOffice-7.5.3 Portable
179+
7. Other functional optimizations
180+
181+
#### Fixes
182+
1. Fixed compressed package path errors in reverse proxy scenarios
183+
2. Fixed .click error when image preview URLs contain &
184+
3. Fixed known OFD preview issues
185+
4. Fixed page error when clicking on file directories (tree nodes) in compressed package preview
186+
5. Other known issue fixes
187+
188+
### Version 4.2.1 (April 18, 2023)
189+
190+
#### Change Log
191+
1. Fixed null pointer bug in dwg file preview
192+
193+
### Version 4.2.0 (April 13, 2023)
194+
195+
#### New Features
196+
1. Added SVG format file preview support
197+
2. Added encrypted Office file preview support
198+
3. Added encrypted zip, rar, and other compressed package file preview support
199+
4. Added xmind software model file preview support
200+
5. Added BPMN workflow model file preview support
201+
6. Added eml email file preview support
202+
7. Added EPUB e-book file preview support
203+
8. Added office document format support: dotm, ett, xlt, xltm, wpt, dot, xlam, xla, dotx, etc.
204+
9. Added 3D model file support: obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, dae, wrl, 3mf, ifc, brep, step, iges, fcstd, bim, etc.
205+
10. Added configurable high-risk file upload restrictions (e.g., exe files)
206+
11. Added configurable site filing information
207+
12. Added password requirement for demo site file deletion
208+
209+
#### Optimizations
210+
1. Added caching for text document preview
211+
2. Beautified 404, 500 error pages
212+
3. Optimized invoice and other OFD file preview seal rendering compatibility
213+
4. Removed office-plugin module, using new jodconverter component
214+
5. Optimized Excel file preview effect
215+
6. Optimized CAD file preview effect
216+
7. Updated xstream, junrar, pdfbox, and other dependency versions
217+
8. Updated TIF to PDF conversion plugin, added conversion cache
218+
9. Optimized demo page UI deployment
219+
10. Compressed package file preview supports directories
220+
221+
#### Fixes
222+
1. Fixed XSS issues in some interfaces
223+
2. Fixed console printed demo address not following content-path configuration
224+
3. Fixed OFD file preview cross-domain issues
225+
4. Fixed internal self-signed certificate HTTPS URL file download issues
226+
5. Fixed special character file deletion issues
227+
6. Fixed OOM caused by unreclaimed memory in PDF to image conversion
228+
7. Fixed garbled preview for xlsx 7.4+ version files
229+
8. Fixed TrustHostFilter not intercepting cross-domain interfaces (security issue - upgrade required if using TrustHost)
230+
9. Fixed compressed package file preview filename garbled issue on Linux systems
231+
10. Fixed OFD file preview only displaying 10 pages
232+
233+
66234
### Changelog
67235
> December 14, 2022, version 4.1.0 released:
68236

pom.xml

Lines changed: 53 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,54 +6,75 @@
66

77
<groupId>cn.keking</groupId>
88
<artifactId>kkFileView-parent</artifactId>
9-
<version>4.4.0</version>
9+
<version>5.0</version>
1010

1111
<properties>
12+
<!-- ========== Java 和编译配置 ========== -->
1213
<java.version>21</java.version>
13-
<jodconverter.version>4.4.6</jodconverter.version>
14+
<maven.compiler.source>${java.version}</maven.compiler.source>
15+
<maven.compiler.release>${java.version}</maven.compiler.release>
16+
<maven.compiler.target>${java.version}</maven.compiler.target>
17+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
19+
20+
<!-- ========== Spring 框架 ========== -->
1421
<spring.boot.version>3.5.6</spring.boot.version>
15-
<poi.version>5.2.2</poi.version>
22+
23+
<!-- ========== 文档转换和Office处理 ========== -->
24+
<jodconverter.version>4.4.11</jodconverter.version>
25+
<poi.version>5.2.5</poi.version>
1626
<xdocreport.version>1.0.6</xdocreport.version>
17-
<xstream.version>1.4.20</xstream.version>
18-
<junrar.version>7.5.5</junrar.version>
19-
<redisson.version>3.22.0</redisson.version>
20-
<sevenzipjbinding.version>16.02-2.01</sevenzipjbinding.version>
21-
<jchardet.version>1.0</jchardet.version>
22-
<antlr.version>2.7.7</antlr.version>
23-
<concurrentlinkedhashmap.version>1.4.2</concurrentlinkedhashmap.version>
24-
<rocksdb.version>5.17.2</rocksdb.version>
25-
<pdfbox.version>3.0.2</pdfbox.version>
27+
<aspose-cad.version>25.10</aspose-cad.version>
28+
29+
<!-- ========== PDF 处理 ========== -->
30+
<pdfbox.version>3.0.6</pdfbox.version>
31+
32+
<!-- ========== 图像处理 ========== -->
2633
<jai-imageio.version>1.4.0</jai-imageio.version>
2734
<jbig2-imageio.version>3.0.4</jbig2-imageio.version>
28-
<galimatias.version>0.2.1</galimatias.version>
29-
<bytedeco.version>1.5.2</bytedeco.version>
30-
<opencv.version>4.1.2-1.5.2</opencv.version>
31-
<openblas.version>0.3.6-1.5.1</openblas.version>
32-
<ffmpeg.version>4.2.1-1.5.2</ffmpeg.version>
33-
<itextpdf.version>5.5.13.3</itextpdf.version>
34-
<httpclient.version>3.1</httpclient.version>
35-
<aspose-cad.version>23.9</aspose-cad.version>
36-
<bcprov-jdk15on.version>1.70</bcprov-jdk15on.version>
37-
<juniversalchardet.version>1.0.3</juniversalchardet.version>
38-
<httpcomponents.version>4.5.14</httpcomponents.version>
35+
<commons-imaging.version>1.0.0-alpha6</commons-imaging.version>
3936

40-
<commons-cli.version>1.5.0</commons-cli.version>
41-
<commons-net.version>3.9.0</commons-net.version>
42-
<commons-lang3.version>3.13.0</commons-lang3.version>
37+
<!-- ========== 视频处理 (JavaCV) ========== -->
38+
<bytedeco.version>1.5.12</bytedeco.version>
39+
<opencv.version>4.11.0-1.5.12</opencv.version>
40+
<openblas.version>0.3.30-1.5.12</openblas.version>
41+
<ffmpeg.version>7.1.1-1.5.12</ffmpeg.version>
4342

43+
<!-- ========== 压缩文件处理 ========== -->
44+
<sevenzipjbinding.version>16.02-2.01</sevenzipjbinding.version>
45+
<junrar.version>7.5.5</junrar.version>
4446

45-
<maven.compiler.source>${java.version}</maven.compiler.source>
46-
<maven.compiler.release>${java.version}</maven.compiler.release>
47-
<maven.compiler.target>${java.version}</maven.compiler.target>
47+
<!-- ========== 缓存和存储 ========== -->
48+
<redisson.version>4.0.0</redisson.version>
49+
<rocksdb.version>5.17.2</rocksdb.version>
50+
<concurrentlinkedhashmap.version>1.4.2</concurrentlinkedhashmap.version>
4851

49-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
50-
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
52+
<!-- ========== 网络通信 ========== -->
53+
<httpcomponents.version>4.5.16</httpcomponents.version>
54+
<commons-net.version>3.12.0</commons-net.version>
55+
56+
<!-- ========== Apache Commons 工具库 ========== -->
57+
<commons-lang3.version>3.20.0</commons-lang3.version>
58+
<commons-cli.version>1.11.0</commons-cli.version>
59+
60+
<!-- ========== 编码和字符处理 ========== -->
61+
<juniversalchardet.version>1.0.3</juniversalchardet.version>
62+
<jchardet.version>1.0</jchardet.version>
63+
64+
<!-- ========== 安全相关 ========== -->
65+
<bcprov-jdk15on.version>1.70</bcprov-jdk15on.version>
66+
67+
<!-- ========== 其他工具库 ========== -->
68+
<xstream.version>1.4.21</xstream.version>
69+
<antlr.version>2.7.7</antlr.version>
70+
<galimatias.version>0.2.1</galimatias.version>
5171
</properties>
5272

5373
<modules>
5474
<module>server</module>
5575
</modules>
5676

77+
<!-- ========== 项目信息 ========== -->
5778
<name>kkFileView-parent</name>
5879
<description>专注文件在线预览服务</description>
5980
<url>https://github.com/kekingcn/kkFileView</url>
@@ -89,5 +110,4 @@
89110
<system>github</system>
90111
<url>https://github.com/kekingcn/kkFileView/issues</url>
91112
</issueManagement>
92-
93-
</project>
113+
</project>

0 commit comments

Comments
 (0)