百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

介绍一款国产开源免费的在线文件文档预览的kkFileView

itomcoil 2025-01-08 14:38 28 浏览

无论是个人或企业,甚至是政府部门,能够在浏览器中直接打开浏览Office等格式文档,也是一个普遍的需求和应用场景。对于企业来说,在线文件文档预览在OA办公系统、在线学习系统及招聘网站等广泛的应用。对于我来说,曾经先后用过微软的office web apps和office online server及永中office,这些商业产品各有优缺点,选择使用哪一款产品需要根据具体的业务需求和场景去选型一个最合适的。本文介绍一款国产开源免费的在线文件文档预览的kkFileView对标国内?付费产品有永中office、office365、idocv等总体来说开源产品会比商业产品功能要弱一些,但最大的优势开源免费,可以满足绝大多数的应用场景

那什么是kkFileView呢?kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar、图片、视频、音频等目前kkFileView在世界上最大的代码托管平台github的star为6.4k,说明还是很热门流行的

kkFileView的特性如下:

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下来想干嘛就干嘛

kkFileView于2008年1月2日发布了首个V0.0.2发行版本并于2021年7月6日发布了V4.0.0版本。对于Office文件文档的在线预览,kkFileView的底层是基于开源openoffice或libreoffice上构建的。先给大家简单介绍一下kkFileView V4.0.0的主要功能改进基于LibreOffice7.1底层,兼容性更强,预览效果更好,具体如下:

1.底层集成OpenOffice替换为LibreOffice,Office文件兼容性增强,预览效果提升

2.修复压缩文件目录的穿越漏洞

3.修复PPT预览使用PDF模式无效

4.修复PPT图片预览模式前端显示异常

5.新增功能:首页文件上传功能可通过配置实时开启或禁用

6.优化增加Office进程关闭日志

7.优化Windows环境下,查找Office组件逻辑(内置的LibreOffice优先)

8.优化启动Office进程改同步执行

kkFileView官网地址:https://kkfileview.keking.cn/zh-cn/index.html,如下图:


kkFileView在线预览测试地址:https://file.keking.cn/index,如下图:

kkFileView安装包下载地址:https://github.com/kekingcn/kkFileView/releases,需要特别注意的一点需要事先安装JDK 1.8,否则无法运行,如下图:

下面详细来介绍一下以我本机电脑windows 7安装kkFileView V4.0.0为例,下载并解压kkFileView-4.0.0.zip,如下图:

启动运行成功后,可以进行本地测试在线文件预览:http://127.0.0.1:8012/index,如下图:

下面分别测试了word、excel、powerpoint等三类格式office文档,对于office文档需要转换成JPG图片或PDF文件,用户实际在线预览并非原始文件,而是转换后的JPG图片或PDF文件,简单做了一下测试对于容量较大的Word文档(50M左右)转换JPG失败,同时对于PPT或PPTX文档无法打开转换后PDF,其他都正常。不过目前官方也在不断更新发行版,对于目前的一些BUG也进行修复,对于最新4.1.X发行版本,我还没测试验证,V4.0.0版本具体体效果如下:




这样就可以使用kkFileView了,是一款可替代的商业收费?在线文件文档预览的开源免费套件。

如果您喜欢这篇文章,请关注我,收藏、点赞、评论和转发,会让更多需要帮助的人看到这篇文章。举手之劳,善莫大焉!

相关推荐

selenium(WEB自动化工具)

定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...

开发利器丨如何使用ELK设计微服务中的日志收集方案?

【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...

高并发系统设计:应对每秒数万QPS的架构策略

当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...

2025 年每个 JavaScript 开发者都应该了解的功能

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...

JavaScript Array 对象

Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...

Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战

刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...

动力节点最新JavaScript教程(高级篇),深入学习JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...

一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code

当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...

「晚安·好梦」努力只能及格,拼命才能优秀

欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...

JavaScript 中 some 与 every 方法的区别是什么?

大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...

10个高效的Python爬虫框架,你用过几个?

小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

pip3 install pyspider报错问题解决

运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...

PySpider框架的使用

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

「机器学习」神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...