kkFileView是一款能够让你预览查看文件的软件。如果你经常需要预览文件你一定需要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协议是开源。拉下代码,然后做任何你想做的
官方教程:
当您需要在项目中预览文件时,只需调用浏览器以打开项目的预览界面,然后传入预览文件的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输出下载内容。目前,下载网址不包含该文件。后缀名,预览时需要获取文件名,通过参数fullfilename = xxx.xxx指定文件名,示例如下
var originUrl ='http://127.0.0.1:8080 / filedownload?fileId = 1'; //要预览的文件的访问地址
变量PreviewUrl = originUrl +'&fullfilename = test.txt'
Window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));;
3. FTP下载网址预览
1)。 FTP匿名访问
如果可以匿名访问要预览的FTP URL(不需要用户名和密码),则可以直接通过下载URL进行预览,示例如下
变量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进行预览,示例如
变量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.dir = D:\\ kkFileview \\
Office.home
说明:openoffice或libreoffice的安装目录。通常,不需要对其进行配置。如果需要自己安装openoffice或libreoffice,则可以自己指定
缺省值:对应不同操作系统的缺省安装目录
例如:office.home = C:\\ Program Files(x86)\\ OpenOffice 4
缓存类型
说明:缓存的实现方法,默认为嵌入式RocksDB实现,选项:'default','jdk','redis'
默认:使用RocksDB存储引擎,使用磁盘存储的默认实现将占用少量磁盘空间;在Windows下,您需要以管理员身份启动程序
jdk:Java对象实现,使用纯内存对象存储,速度极快,具有最小的外部依赖关系,调试和部署方便,并且会占用内存。建议在调试期间以及预览文件数量不是很大(<500,000)且t
预览文件数量非常大,不建议用于大型或大型压缩包
redis:redis作为高速缓存实现,速度快,不占用内存和磁盘空间,但是需要外部redis服务
当配置为实现redis时,需要同时配置与redis连接相关的配置,如下所示:
Spring.redisson.address = 127.0.0.1:6379
Spring.redisson.password = xxxxxx
Cache.clean
说明:是否需要自动清理缓存和预览文件,默认情况下启用它(如果不清除缓存,如果文件在相同的URL下更改,则不会重新拉动和预览新文件)。每天凌晨3点清理所有缓存和预览文件。推荐的预览量不大,预览速度不高,并且经常更新同一URL下文件的用户将其打开。不建议预览量大且预览速度要求高的用户打开它。
True:默认值,打开
错误:未打开
空:注释掉,不要打开
可以在运行时动态更换零件
Base.url
描述:提供预览服务的地址,默认情况下是从接收请求的URL中读取的。如果使用反向代理(例如nginx),则需要手动设置地址以通过nginx访问预览服务
默认值:未设置
示例:base.url = https://file.k
eking.cn
例如,nginx的访问地址为http://file.keking.cn。如果要使用http://file.keking.cn/preview/进行预览,则kkFileView部署在内部网络192.168.1.233服务器上,需要在nginx中添加反向代理如下。
位置/预览{
Proxy_pass 192.168.1.233:8012;
}
修改kkFileView的配置文件,如下所示:
Server.context-path = /预览
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 = 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
媒体
说明:用于将预览模式的文件类型配置为多媒体(视频,音频)
默认值:mp3,wav,mp4,flv
Converted.file.charset
说明:默认情况下,根据操作系统获取文件转换代码。通常,无需更改它
缺省值:从java系统属性sun.jnu.encoding获得,操作系统的缺省编码
示例:converted.file.charset = GBK
ew.type
说明:Office文件(doc,docx,ppt,pptx),pdf文件预览模式,默认为图片模式,有在预览过程中彼此切换的按钮,选项:“图像”,“ pdf”
图像:默认预览模式,将Office文件的每个页面转换为背景图片,并在前台延迟加载(仅加载当前页面内容),建议在预览文件较大且前台使用时使用加载缓慢
Pdf:统一转换为pdf,并一次性加载,建议用于Intranet访问,在互联网速度较快时使用
ftp。用户名
描述:当预览URL为FTP地址时,默认的ftp用户名可以由url参数中的ftp.username = xxx覆盖,即首选url参数。如果没有url参数,则配置一个
默认值:null
ftp密码
说明:当预览URL为FTP地址时,默认的ftp密码可以被url参数中的ftp.password = xxx覆盖,即优先使用url参数。如果没有url参数,则配置一个
默认值:null
ftp.control.encoding
说明:当预览源为FTP时,将根据FTP服务器的操作系统选择用于FTP连接的默认ControlEncoding。 Linux通常设置UTF-8,而Windows通常设置GBK。可以通过url参数中的ftp.control.encoding = xxx覆盖它,即优先使用url参数中的一个。如果没有url参数,则使用此配置中的一个
默认值:UTF-8
Watermark.txt
默认水印的内容,如果需要取消水印,请将内容设置为空,例如:watermark.txt = $ {WATERMARK_TXT:}
默认值:''
水印空间
水印x轴间隔
默认值:10
水印空间
水印y轴间隔
默认值:10
水印字体
水印字体
默认值:Microsoft Yahei
Watermark.fontsize
水印字体大小
默认值:18px
水印颜色
水印字体颜色
默认值:黑色
水印
水印的透明度必须设置为大于或等于0.005且小于1
默认值:0.2
水印宽度
水印宽度
默认值:180
水印高度
水印高度默认值:80
水印角度
水印倾斜度,必须设置为大于或等于0且小于90
默认值:10
常见问题:
问:如何将此项目集成到我的项目中
答:不需要集成,该项目仅需要独立部署,并且向外提供http预览服务(外部系统仅需要访问该项目的预览界面并传入要预览的文件的url,然后可以打开预览页面)
问:如何在Tomcat中运行此项目
答:您不需要将其放在Tomcat中。编译后的分发包是一个zip包。您可以直接解压缩并运行一键启动脚本以完成部署(需要Java环境)。有关详细的部署步骤,请参阅:部署指南
:预览并发问题,并且预览会缓慢打开
第一次
答:您可以使用预览转码队列,将需要预览的文件URL放入队列中,并提前进行转码。本地访问接口是:http://127.0.0.1:8012/addTask?url=http://xxx/ test.txt(URL参数是所需的文件访问地址)
:预览乱码
答:出现乱码的问题可能有以下两个原因
字体问题
大多数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网页编码格式
服务器操作系统的默认编码(java系统属性:sun.jnu.encoding)也用于生成html网页。例如,浏览器手动将编码格式更改为utf-8或gbk没问题,但是浏览器默认编码有问题。这时,您可以在系统中调整配置项convert.file.charset配置文件来解决这种乱码问题。
问:在Linux下运行startup.sh脚本并报告错误:/ bin / bash ^ M:错误的解释器:无此类文件或目录
答:通常,在Windows下使用IDEA编译项目时,默认情况下使用Windows(\ r \ n)下的文件换行符。导入项目时,将默认的换行符设置为Unix操作系统的换行符,然后进行编译(文件->设置->编辑器->代码样式->行分隔符选择Unix和MacOs(\ n))
软件功能:
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预览有两种模式:一种是将单词的每一页转换为图片预览,另一种是将整个word文档转换为pdf,然后预览pdf。
图片预览:Word文件很大,并且前台加载整个pdf的速度太慢
PDF预览:Intranet访问,快速加载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目录,然后运行启动脚本(在Windows下以管理员身份运行startup.bat,在Linux上以root用户身份运行startup.sh)
4.当浏览器访问计算机http://127.0.0.1:8012的端口8012时,您可以看到项目演示的主页。
2)。 Docker容器环境正在运行
拉镜
cker pull keking / kkfileview
跑
Docker运行-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));;