kkFileView(在线预览文件)
v3.3.0 官方版- 软件大小:154 MB
- 更新日期:2021-01-07 09:42
- 软件语言:简体中文
- 软件类别:办公专区
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
kkFileView提供在线文件预览功能,可以直接在软件打开office类型的文件,可以将本地的资源添加到软件预览,可以将网页上的资源添加到软件预览,输入URL就可以直接在网页打开文件,实现更方便的在线预览文件功能,如果你的文件无法在线预览就可以下载这款软件;现在很多文件都是下载到电脑才能打开使用的,一些网站或者是web程序也功能在线预览功能,不下载文件就可以直接在web查看文件内容,这款kkFileView软件为用户提供多种文件在线预览,图像、PDF、Word、Excel、压缩文件、编程文件、音视频媒体文件都可以在软件预览!
软件功能
1、支持word excel ppt,pdf等办公文档
2、支持txt,java,php,py,md,js,css等所有纯文本
3、支持zip,rar,jar,tar,gzip等压缩包
4、支持jpg,jpeg,png,gif等图片预览(缩小,缩放,缩小)
5、支持mp3,mp4,flv等多媒体文件预览
6、使用spring boot开发,预览服务建造部署非常重复
7、rest接口提供服务,跨平台特性(java,php,python,go,php,....)都支持,应用接收简单方便
8、支持普通http / https文件下载url,http / https文件下载流url,ftp下载url等多种预览源
9、提供zip,tar.gz发布包,提供一键启动脚本和丰富的配置项,方便部署使用
10、提供Docker大规模发行包,方便在容器环境部署
11、抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
12、最最重要Apache协议开源,代码pull下来想干嘛就干嘛
软件特色
1.文本预览
支持所有类型的文本文档预览,由于文本文档类型过多,无法全部枚举,又开启的类型如下txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py ,c,cpp,sql,sh,bat,m,bas,prg,cmd
文本预览效果如下
2.图片预览
支持jpg,jpeg,png,gif等图片预览(缩放,缩放,缩小),预览效果如下
3. word文档预览
支持doc,docx文档预览,单词预览有两种模式:一种是每页单词转为图片预览,另一种是整个word文档转成pdf,再预览pdf。
图片预览:word文件大,前台加载整个pdf过慢
pdf预览:内网访问,加载pdf快捷
图片预览模式预览效果如下
pdf预览模式预览效果如下
4. ppt文档预览
支持ppt,pptx文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下
pdf预览模式预览效果如下
5. pdf文档预览
支持pdf文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下
pdf预览模式预览效果如下
6. excel文档预览
支持xls,xlsx文档预览,预览效果如下
部署方式
1. 环境要求
Java: 1.8+
OpenOffice或LiberOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)
2. 部署运行
1). 物理机或虚拟机上运行
1、下载最新版发行包
2、解压kkFileView-2.x.x.zip包
3、打开解压后文件夹的bin目录,运行startup脚本(Windows下以管理员身份运行startup.bat,Linux以root用户运行startup.sh)
4、浏览器访问本机8012端口 http://127.0.0.1:8012 即可看到项目演示用首页
2). Docker容器环境环境运行
拉取镜像
docker pull keking/kkfileview
运行
docker run -it -p 8012:8012 keking/kkfileview
浏览器访问容器8012端口 http://xxx.xxx.xxx.xxx:8012 即可看到项目演示用首页
3. 项目接入使用
当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url,示例如下:
var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));
官方教程
当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url。
注意,如果要预览的url里包含需要转义的特殊字符,如下表格,请使用encodeURIComponent(url)转义
1. 普通文件下载url预览
var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));
2. http/https下载流url预览
很多系统内不是直接暴露文件下载地址,而是请求通过id、code等参数到通过统一的接口,后端通过id或code等参数定位文件,再通过OutputStream输出下载,此时下载url是不带文件后缀名的,预览时需要拿到文件名,传一个参数fullfilename=xxx.xxx来指定文件名,示例如下
var originUrl = 'http://127.0.0.1:8080/filedownload?fileId=1'; //要预览文件的访问地址
var previewUrl = originUrl + '&fullfilename=test.txt'
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));
3. FTP下载url预览
1). FTP匿名访问
如果要预览的FTP url是可以匿名访问的(不需要用户名密码),则可以直接通过下载url预览,示例如下
var url = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));
2). 非匿名访问,确定只有访问一台FTP服务器
如果预览服务只访问一台FTP服务器,只需要在配置文件中 配置FTP链接信息 ,则可以直接通过下载url预览,示例如下
var url = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));
3). 非匿名访问,不只访问一台FTP服务器
如果预览服务要访问多台FTP服务器,且用户名密码不一致,可以通过在url中加入用户名密码等参数预览(url参数中的优化于配置文件中的),示例如下
var originUrl = 'ftp://127.0.0.1/file/test.txt'; //要预览文件的访问地址
var previewUrl = originUrl + '?ftp.username=xx&ftp.password=xx&ftp.control.encoding=xx';
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));
配置说明
打开conf目录,下面有一个application.properties配置文件,有部分配置是可以在程序运行中变更的,其他的变更需要重新启动程序
不可动态配置,需要重启生效部分
server.context-path
说明:kkFileView运行时tomcat的ServletContext 默认值:/ 示例:server.context-path = /preview
file.dir
说明:预览文件存储路径,当有大量文件要预览时需要保证该目录所在磁盘有足够的容量
默认值:程序根目录下的file目录下
示例:file.dir = D:\\kkFileview\\
office.home
说明:openoffice或libreoffice安装目录,一般情况下不用配置,如果需要使用自己安装openoffice或libreoffice,可以自行指定
默认值:不同操作系统各自对应的默认安装目录
示例:office.home = C:\\Program Files (x86)\\OpenOffice 4
cache.type
说明:缓存实现方式,默认为内嵌RocksDB实现,可选项:'default', 'jdk', 'redis'
default:默认实现,使用RocksDB存储引擎,使用磁盘存储,会占用少量磁盘空间;Windows下需要使用管理员身份启动程序
jdk:java对象实现,使用纯内存对象存储,速度极快,外部依赖最少,调试部署方便,会占用内存,推荐调试时和预览文件量不是很大时(<50万)使用,预览文件量极大或有大量压缩包时不推荐使用
redis: redis作为缓存实现,速度快,不占用内存和磁盘空间,但是需要有外部redis服务
当配置为redis实现时,需要同时配置redis连接相关配置,如下:
spring.redisson.address = 127.0.0.1:6379
spring.redisson.password = xxxxxx
cache.clean
说明:是否需要自动定时清理缓存及预览过的文件,默认开启(如果不清理缓存,同一个url下如果文件发生变更是不会重新拉取新的文件再去预览的),开启的情况下会在每天凌晨3点清理所有缓存及预览文件,推荐预览量不大,对预览速度要求不高,且同一url下文件经常更新的用户开启,预览量大、预览速度要求高的用户不推荐开启
true: 默认值,开启
false: 不开启
空:注释掉,不开启
可在运行时动态改变部分
base.url
说明:提供预览服务的地址,默认从接收请求url读,如果使用nginx等反向代理,需要手动设置为通过nginx访问预览服务的地址
默认值:未设置
示例:base.url = https://file.keking.cn
例如nginx的访问地址为 http://file.keking.cn 想要使用 http://file.keking.cn/preview/来做预览,kkFileView部署在内网192.168.1.233服务器上,需要在nginx中添加反向代理如下
location /preview {
proxy_pass 192.168.1.233:8012;
}
修改kkFileView的配置文件如下两项
server.context-path = /preview
base.url = http://file.keking.cn/preview
使用如下地址来访问预览页面
var url = 'http://file.keking.cn/file/test.txt'; //要预览文件的访问地址
window.open('http://file.keking.cn/preview/onlinePreview?url='+encodeURIComponent(url));
trust.host
说明:信任站点,设置了之后,会限制只能预览来自信任站点列表的文件,默认不限制,多个用','隔开, 默认值:未设置 示例:trust.host = file.keking.cn,kkfileview.keking.cn
simText
说明:用来配置预览方式为纯文本的文件类型
默认值:txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd
media
说明:用来配置预览方式为多媒体(视频、音频)的文件类型
默认值:mp3,wav,mp4,flv
converted.file.charset
说明:文件转换编码,默认根据操作系统获取,一般情况下不用改
默认值:从java系统属性sun.jnu.encoding获取,操作系统的默认编码
示例:converted.file.charset = GBK
office.preview.type
说明:office文件(doc、docx、ppt、pptx)、pdf 文件预览方式,默认为图片方式,预览时也有按钮相互切换,可选项:'image', 'pdf'
image: 默认预览方式,将office文件每一页后台转成图片,前台懒加载(只加载当前页面内容),推荐预览文件大且前台加载慢的时候使用
pdf: 统一转成pdf加一次加载,推荐内网访问,网速快时使用
ftp.username
说明:预览url为FTP地址时,默认的ftp用户名,可过url参数中的ftp.username=xxx覆盖,即优先使用url参数中的,如果url参数中没有,则取本配置的
默认值:null
ftp.password
说明:预览url为FTP地址时,默认的ftp密码,可过url参数中的ftp.password=xxx覆盖,即优先使用url参数中的,如果url参数中没有,则取本配置的
默认值:null
ftp.control.encoding
说明:预览源为FTP时, FTP连接默认的ControlEncoding,根据FTP服务器的操作系统选择,Linux一般为设置UTF-8,Windows一般为设置GBK。可过url参数中的ftp.control.encoding=xxx覆盖,即优先使用url参数中的,如果url参数中没有,则取本配置的
默认值:UTF-8
watermark.txt
默认水印内容,如需取消水印,内容设置为空即可,例如:watermark.txt = ${WATERMARK_TXT:}
默认值:''
watermark.x.space
水印x轴间隔
默认值:10
watermark.y.space
水印y轴间隔
默认值:10
watermark.font
水印字体
默认值:微软雅黑
watermark.fontsize
水印字体大小
默认值:18px
watermark.color
水印字体颜色
默认值:black
watermark.alpha
水印透明度,要求设置在大于等于0.005,小于1
默认值:0.2
watermark.width
水印宽度
默认值:180
watermark.height
水印高度 默认值:80
watermark.angle
水印倾斜度数,要求设置在大于等于0,小于90
默认值:10
常见问题
Q:怎么把这个项目集成到我的项目里
A:不需要集成,本项目只需要独立部署,向外提供http预览服务(外部系统只需要访问本项目预览接口并传入需要预览文件的url,就可以打开预览页面)
Q:怎么把这个项目放Tomcat里运行
A:不需要放进Tomcat里,编译好的发行包为zip包,直接解压运行一键启动脚本就可以完成部署(需要有java环境)具体部署步骤详见:部署指南
Q:预览并发问题&预览首次打开慢
A:可使用预览转码队列,将需要预览的文件url放入队列中,提前进行转码,本地访问接口为:http://127.0.0.1:8012/addTask?url=http://xxx/test.txt (url参数为需要需要的文件访问地址)
Q:预览乱码
A:乱码问题可能有如下两个原因
字体问题
大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下: 下载如下字体包 http://kkfileview.keking.cn/fonts.zip 文件解压完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效
编码问题
编码问题分为如下两方面
1、Excel文件编码格式 Excel软件是可以选择用什么编码去保存文件的
目前我们读取Eecel文件是用的服务器操作系统默认编码,可以通过在启动脚本里加入如-Dfile.encoding=UTF-8指定,
2、生成html网页编码格式
生成html网页也是用的服务器操作系统默认编码(java系统属性:sun.jnu.encoding),比如用浏览器用手动更改编码格式为utf-8或gbk打开没有问题,但是用浏览器默认编码就有问题,此时可调整系统配置文件中的配置项converted.file.charset可解决此类乱码问题,
Q:Linux下运行startup.sh脚本报错:/bin/bash^M: bad interpreter: No such file or directory
A:一般为在Windows下用IDEA导入项目编译时,默认使用Windows(\r\n)下的文件换行符导致的,导入项目时设置默认换行符为Unix类操作系统换行符再编译即可(File->Settings->Editor->Code Style->Line separator 选择Unix and MacOs(\n))
更新记录
2020年05月20日:
1、添加更多支持层次水印,并支持通过参数动态更改水印内容
2、新增支持CAD文件预览
3、新增base.url配置,支持使用nginx反向代理和使用上下文路径
4、支持所有配置项支持从环境变量里读取,方便Docker部署和扩展中大规模使用
5、支持配置限信任站点(只能预览来自信任点的文件源),保护预览服务不被滥用
6、支持配置自定义缓存清理时间(cron表达式)
7、全部能识别的纯文本直接预览,不用再转跳下载,如.md .java .py等
8、支持配置限制转换后的PDF文件下载
9、优化maven打包配置,解决.sh脚本可能出现换行符问题
10、将前端所有CDN依赖放到本地,方便没有外网连接的用户使用
11、首页评论服务由搜狐畅言切换到Gitalk
12、修复网址中包含特殊字符可能会引起的预览异常
13、修复转换文件文本addTask异常
14、修复其他已经问题
人气软件
-
microsoft office2021中文 3052 MB
/简体中文 -
microsoft project 2019中文 3584 MB
/简体中文 -
acrobat pro dc 2021 867 MB
/简体中文 -
福昕高级PDF编辑器 480 MB
/简体中文 -
Mindjet MindManager 2020激活码 0 MB
/简体中文 -
foxit pdf editor(福昕pdf编辑器) 4.6 MB
/简体中文 -
office tab14.0 56.1 MB
/简体中文 -
Tableau Desktop Professional Edition(专业数据分析软件) 431.0 MB
/简体中文 -
福昕pdf编辑器10.0 686 MB
/简体中文 -
XMind ZEN(思维导图软件) 131.0 MB
/简体中文