如何3分钟让同事在手机上预览文档:kkFileView 移动端实战
【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView
你还在群里发文件,然后等对方"我电脑上没装Office"?kkFileView 是个基于 Spring Boot 的文档预览服务,部署到内网后,手机上打开链接就能直接看 Word、PDF、CAD 甚至压缩包,不用装任何 App。这篇文章带你快速跑起来,并避开几个移动端最常见的坑。
为什么在手机上预览文档没那么简单
你大概率经历过这些场景:
- 同事在地铁上点开一份合同,Word 的表格被挤成一团,横向内容全被裁掉;
- 手机上想放大看某一行字,手指一划就滚走了页面,想点按钮又总点偏;
- 弱网环境下,一份几十 MB 的文档加载到一半直接失败,只能重新来。
原因不复杂:屏幕小、触控不精准、网络不稳,再加上文档预览本身要做格式转换。kkFileView 的思路是把"转换"放到服务端,手机端只负责展示,这样三件事都能绕开大半。
3分钟部署,手机怎么访问
三步跑起来(需 JDK 21+):
git clone https://gitcode.com/GitHub_Trending/kk/kkFileView mvn clean package -DskipTests java -jar server/target/kkFileView-5.0.0.jar服务默认监听 8012 端口。手机连上同一网络,浏览器输入http://服务器IP:8012就能到首页。
⚠️ 移动端访问前必做的一件事:配置trust.host白名单。新版默认拒绝所有外部文件请求(防 SSRF),把文件所在域名加上,支持通配符,例如:
# application.properties,支持环境变量覆盖 trust.host=example.com,*.example.com office.preview.type=pdf # Office 文档预览形态,后文细说 server.compression.enabled=true # GZIP 压缩,弱网下很关键手机上能直接看哪些文件
kkFileView 支持的格式有 200+,按类型感受一下:
- Office 文档:doc、docx、xls、xlsx、ppt、pptx、csv,以及 WPS 的 wps/et/dps 系列;
- PDF / OFD / RTF:前端 PDF.js 渲染,侧边缩略图面板默认打开;
- 图片:jpg、png、gif、bmp、svg,连手机相册常见的 heic、heif 也支持,可缩放、旋转、镜像;
- 音视频:mp4、mp3、wav、flv 直接在线播放,avi、mov 等格式可自动转码;
- CAD:dwg、dxf、dwf 等默认转成 SVG 矢量显示,手机上放大不糊;
- 压缩包:zip、rar、7z、tar 不用解压,直接看文件树再点开内部文件;
- 纯文本/代码:txt、md、json、xml、各种源码文件,md 和 json 带渲染。
移动端体验上有哪些值得注意的细节
- Office 文档走"图片模式"更跟手:转成图片后左右滑翻页,低端手机上比 PDF 模式顺滑,弱网下加载也快一些;
- 图片预览手势完整:双指缩放、双击放大、左右滑动切图,手机看原图很顺手;
- PDF 侧边栏即缩略图导航:
pdf.sidebar.open默认开启,手机上不想一页页翻的时候,点缩略图直接跳; - 工具栏适配手指:页面布局固定、按钮不藏,不依赖悬停交互,戴手套都能点;
- 渐进式加载:文档按页转换、按需加载,不会为看一眼目录先等整份文档转完。
决定手机体验的3个关键配置
只挑三个最影响移动端的,都在application.properties(或对应环境变量)里:
office.preview.type(pdf / image)——Office 文档预览的形态。默认 pdf,清晰、保留书签;如果你的用户多在弱网手机上看,改成 image,每页一张图,加载和滑动都更稳。office.maximageresolution+office.quality——转换图片的分辨率(默认 150)和清晰度(默认 80)。手机屏幕小,150 通常够用;想更清晰就调高,但文件体积会明显变大,弱网下反而更慢。server.compression.enabled——GZIP 压缩,默认已开启。压缩后页面和静态资源传输体积小一圈,对 4G 网络下的首屏速度帮助明显,一般不用动,被改关了就打开。
移动端预览常见坑速答
Q:为什么手机上图片预览发糊?大概率是转换参数被调低了。看office.maximageresolution和office.quality,适当调高即可。反过来,别为了"清晰"盲目拉满——手机上感知有限,体积却涨得很夸张。
Q:为什么第一次打开这么慢,第二次就快了?第一次预览要完成"下载 → 转换 → 缓存"整个流程,文件越大越久,且大文件有超时保护。cache.enabled默认开启,同文件第二次直接命中缓存,基本秒开,不需要你额外配置。
Q:手机打不开,提示站点不受信任?是trust.host白名单没配。把文件 URL 的域名加进去(支持通配符,也支持 CIDR),配置热更新,不用重启服务。
写在最后
如果你们有"同事在外出差要看合同""现场工程师在车间看图纸"这类需求,kkFileView 基本是开箱即用的选择:一台内网机器、一个浏览器地址,手机直开,不用发文件、不用装 App。更多参数细节可以看仓库里的 README 和 应用配置,格式清单以 README 为准。
【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考