Compare commits

...

80 Commits

Author SHA1 Message Date
a7abb7ae9c Bump xstream from 1.4.16 to 1.4.17 in /server
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.16 to 1.4.17.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-18 20:51:37 +00:00
2bb0dd545d Bump xstream from 1.4.15 to 1.4.16 in /server
Bumps [xstream](https://github.com/x-stream/xstream) from 1.4.15 to 1.4.16.
- [Release notes](https://github.com/x-stream/xstream/releases)
- [Commits](https://github.com/x-stream/xstream/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-19 13:32:13 +08:00
ac2115114c 修正Redis服务器没有设置密码,但客户端向其发送身份验证请求的问题 2021-04-19 13:31:50 +08:00
831550d847 修正office.preview.switch.disabled引用了错误常量的问题 2021-04-19 13:31:50 +08:00
1fa7b4a911 修正区分大小写的文件系统中,文件后缀名为大写时,系统提示该文件类型不支持的问题 2021-04-19 13:31:50 +08:00
bcdb5ce0e6 集成视频格式转换功能1.0(基于javacv) 2021-04-19 13:29:25 +08:00
a3485dd9b7 Merge pull request #230 from gitchenjh/master
3.5.1版
2021-04-06 17:47:07 +08:00
5a28b89f46 3.5.1版 2021-04-06 16:45:18 +08:00
58b1b50c2e 修复:pdf.js 跨域问题 2021-04-06 16:44:40 +08:00
kl
8f75df15e2 修复 tif、tiff 文件预览初始内存太小预览失败的问题 2021-03-26 10:05:58 +08:00
9883d3b064 assembly打包区分windows和linux
assembly打包区分windows和linux
2021-03-19 09:47:16 +08:00
kl
e477ce7048 修复打包插件 2021-03-19 09:45:04 +08:00
0985aed0b0 assembly打包区分windows和linux,修复windows发行包启动报找不到找不到office组件 2021-03-19 09:41:01 +08:00
kl
2ffda7a1a6 更新版本到 3.5 2021-03-18 20:20:42 +08:00
kl
5cad4aa93e 文本预览转义处理 2021-03-18 20:12:50 +08:00
2a61449ce1 Merge pull request #221 from gitchenjh/master
修复:pom编译版本
2021-03-18 17:42:24 +08:00
fe0b42c5e3 修复:pom编译版本 2021-03-18 17:38:53 +08:00
kl
6ccc724839 office plugin 转换进程、任务超时可配置 2021-03-12 21:32:01 +08:00
kl
56cdeffaa9 新增 wps 文档预览支持 2021-03-02 17:29:49 +08:00
5633eb4111 1.优化项目目录结构之后,windows下启动报错“找不到office组件”
2.import代码错误修复
2021-02-25 15:13:07 +08:00
6255c8dbbc modify some bug 2021-02-19 13:36:47 +08:00
kl
1fd7d5df88 新增依赖 highlightjs 代码文件预览高亮支持 2021-02-19 10:15:20 +08:00
01213c5d02 移除针对 tomcat 的配置 2021-02-10 12:53:27 +08:00
49685e545b 移除多余的 repositories 配置 2021-02-10 01:03:19 +08:00
2542a24675 优化项目结构、优化 maven 结构 2021-02-10 00:58:13 +08:00
28d3e05ca9 简化启动脚本 2021-02-09 21:44:58 +08:00
00fbb5cd74 Merge branch 'master' of https://github.com/kekingcn/kkFileView 2021-02-09 21:39:21 +08:00
kl
fbafcd5c92 新增 tiff 、tif 图像文件格式预览支持 2021-02-08 18:11:43 +08:00
kl
376a90772d 新增 tiff 、tif 图像文件格式预览支持 2021-02-08 18:02:49 +08:00
kl
4f4e75859d 新增 kkFIleView 的 banner 信息 2021-02-08 15:16:24 +08:00
kl
679459f53b 更新 spring-boot 到最新的 v2.4.2 版本 2021-02-07 18:34:35 +08:00
kl
8baef0d873 gitee star增长趋势图获取增加缓存时间设置 2021-02-07 18:01:53 +08:00
kl
d01dddf9e3 动态获取演示页访问地址的端口信息 2021-02-04 11:38:45 +08:00
kl
d61e5236d0 新增启动完成,打印启动耗时、演示页访问地址 2021-02-04 11:33:56 +08:00
kl
d514e6dc0f 更新 README.md 2021-02-04 09:51:41 +08:00
kl
188d2def2d 1、新增 github stars 增长趋势图 2021-02-03 18:23:47 +08:00
kl
17d64ad963 1、补充发版信息 2、新增 stars 增长趋势图 2021-02-03 18:01:55 +08:00
kl
d95fbe02bd 简化下载文件 io 操作 2021-01-28 15:55:42 +08:00
212526d989 Merge pull request #209 from gitchenjh/master
修复:jodd.io.NetUtil.downloadFile下载大于16M文件报错问题
2021-01-28 15:43:05 +08:00
ef5052e7ea 修复:jodd.io.NetUtil.downloadFile下载大于16M文件报错问题 2021-01-28 15:42:05 +08:00
kl
3531af4a46 更新版本到 3.3.1 2021-01-28 09:29:18 +08:00
b2f6fb3a00 修复重复编码导致文档转图片预览失败的问题&编码规范
URLEncoder.encode(URLEncoder.encode(pdfFolder, uriEncoding).replaceAll("\+", "%20"), uriEncoding);
这里encode了两次,导致图片预览失败。
2021-01-23 14:09:16 +08:00
996da0862c 移除 Apache-common-text 包,采用 spring 内置的 HtmlUtils 处理 xss 问题 2021-01-23 13:13:29 +08:00
50dd7c1b83 移除 Apache-common-text 包,采用 spring 内置的 HtmlUtils 处理 xss 问题 2021-01-23 13:12:31 +08:00
2dd067170b escaping of dangerous characters to prevent reflected xss 2021-01-22 12:08:06 +08:00
ale
e635ca86c5 escaping of dangerous characters 2021-01-22 12:08:06 +08:00
8bd36e37a3 Merge pull request #204 from gitchenjh/master
修复:dwg文件预览时无法在jpg和pdf两种类型之间切换
2021-01-21 15:48:27 +08:00
b3b2f7c407 修复:dwg文件预览时无法在jpg和pdf两种类型之间切换 2021-01-21 15:47:13 +08:00
f1ad3d44ff Bump poi from 3.12 to 3.17 in /server
Bumps poi from 3.12 to 3.17.

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 13:37:56 +08:00
kl
ee6ff50244 解码url时,默认UTF-8编码 2021-01-18 13:36:45 +08:00
196741d5dc 加回 apache-commons-io 包依赖,office组件中有依赖,后续再统一吧 2021-01-09 17:08:05 +08:00
374c06472f 移除 apache-commons-io 包依赖,采用jodd的io工具替代 2021-01-09 15:39:01 +08:00
kl
12c85c60c7 XML文件预览支持切换纯文本模式 2020-12-31 13:28:25 +08:00
kl
4747ee93b2 修复类文本类型HTML文件预览的bug 2020-12-29 18:37:50 +08:00
kl
5ec53c4b33 指定Base64转码采用Apache Commons-code中的实现,修复base64部分jdk版本下出现的异常 2020-12-29 18:32:24 +08:00
kl
ee7f7f50cc 修复大小写文件类型后缀没通用匹配的问题 2020-12-29 09:29:16 +08:00
92869e8d6c 文本文件编码默认UTF-8输出到页面 2020-12-28 23:56:38 +08:00
kl
c66dda239f 采用apache-common-io包简化所有的文件下载io操作 2020-12-28 18:31:12 +08:00
kl
e927760c40 调整多图连续预览上下翻图的UI 2020-12-28 16:45:11 +08:00
kl
8783f9059a 修复压缩包内多图连续预览的bug 2020-12-28 16:45:11 +08:00
kl
12e1239267 前端模板抽象出通用的header,将水印等初始化内容挪到通用header里 2020-12-28 16:45:11 +08:00
kl
7c963193ef 更新simTxT文件预览UI风格 2020-12-28 14:54:42 +08:00
kl
bce9a624d7 更新XML文件预览UI风格,调整类文本预览架构,更方便扩展 2020-12-28 14:54:42 +08:00
kl
dac3606b4e 更新markdown文件预览UI风格 2020-12-28 14:54:42 +08:00
kl
eb00385d76 更新index接入演示界面UI风格 2020-12-28 13:36:40 +08:00
kl
986f562266 引入galimatias,解决不规范文件名导致文件下载异常 2020-12-28 11:43:27 +08:00
kl
11d0441ed4 加回漏掉的pdfjs 2020-12-28 11:22:59 +08:00
kl
ef46e2c51e 增强url base64解码失败时的提示信息 2020-12-28 11:22:59 +08:00
kl
0a3c03f18b 修复发行包运行时找不到日志目录的问题 2020-12-28 11:22:59 +08:00
7a7e1a1855 修复导包错误以及图片预览bug 2020-12-27 19:18:52 +08:00
f530f441d5 更新版本到3.3.0 2020-12-27 16:54:30 +08:00
10160e8104 添加2020年最后的发版信息 2020-12-27 16:42:03 +08:00
602e80ee9e 独立flv文件预览实现 2020-12-27 15:17:35 +08:00
9c83860e1b 抽象通用的预览异常接口实现 2020-12-27 14:48:07 +08:00
1f1970232b 精简util模块,ReturenResponse重构 2020-12-27 14:07:46 +08:00
594bd895ec 修复压缩包里文件再次预览失败的bug 2020-12-27 12:38:05 +08:00
486c09b24a 文件url采用base64加encodeURI双重编码,彻底解决各种奇葩文件名导致的下载异常 2020-12-27 01:46:12 +08:00
aaf396fbc8 忽略log目录 2020-12-26 19:28:45 +08:00
4e01d6f5f3 忽略file目录 2020-12-26 19:23:00 +08:00
342c391a9b 引入cpdetector解决文件编码识别问题 2020-12-26 19:23:00 +08:00
3718 changed files with 88921 additions and 5138 deletions

5
.gitignore vendored
View File

@ -17,7 +17,6 @@ target/
### NetBeans ###
nbproject/private/
build/
nbbuild/
dist/
nbdist/
@ -27,5 +26,5 @@ nbdist/
### VS Code ###
.vscode/
jodconverter-web/src/main/cache/
jodconverter-web/src/main/file/
server/src/main/cache/
server/src/main/file/

View File

@ -28,5 +28,5 @@ ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
ENV KKFILEVIEW_BIN_FOLDER /opt/kkFileView-2.2.1/bin
ENTRYPOINT ["java","-Dfile.encoding=UTF-8","-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider","-Dspring.config.location=/opt/kkFileView-2.2.1/config/application.properties","-jar","/opt/kkFileView-2.2.1/bin/kkFileView-2.2.1.jar"]
ENV KKFILEVIEW_BIN_FOLDER /opt/kkFileView-3.5.1/bin
ENTRYPOINT ["java","-Dfile.encoding=UTF-8","-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider","-Dspring.config.location=/opt/kkFileView-3.5.1/config/application.properties","-jar","/opt/kkFileView-3.5.1/bin/kkFileView-3.5.1.jar"]

View File

@ -2,14 +2,14 @@
此项目为文件文档在线预览项目解决方案对标业内付费产品有[永中office](http://dcs.yozosoft.com/)】【[office365](http://www.officeweb365.com/)】【[idocv](https://www.idocv.com/)】等在取得公司高层同意后以Apache协议开源出来反哺社区在此特别感谢@唐老大的支持以及@端木详笑的贡献。该项目使用流行的spring boot搭建易上手和部署基本支持主流办公文档的在线预览如doc,docx,Excel,pdf,txt,zip,rar,图片等等
### 项目特性
1. 支持officepdf, cad等办公文档
1. 支持txt,java,php,py,md,js,css等所有纯文本
1. 支持zip,rar,jar,tar,gzip等压缩包
1. 支持jpgjpegpnggif等图片预览翻转缩放镜像
1. 使用spring boot开发预览服务搭建部署非常简便
1. rest接口提供服务跨平台特性(java,php,python,go,php....)都支持应用接入简单方便
1. 支持 office, pdf, cad 等办公文档
1. 支持 txt, xml(渲染), md(渲染), java, php, py, js, css 等所有纯文本
1. 支持 zip, rar, jar, tar, gzip 等压缩包
1. 支持 jpg, jpeg, png, gif, tif, tiff 等图片预览翻转缩放镜像
1. 使用 spring-boot 开发预览服务搭建部署非常简便
1. rest 接口提供服务语言平台特性(java,php,python,go,php....)都支持应用接入简单方便
1. 抽象预览服务接口方便二次开发非常方便添加其他类型文件预览支持
1. 最最重要Apache协议开源代码pull下来想干嘛就干嘛
1. 最最重要 Apache 协议开源代码 pull 下来想干嘛就干嘛
### 官网及文档
@ -26,7 +26,7 @@
1. English documenthttps://gitee.com/kekingcn/file-online-preview/blob/master/README.en.md
### 联系我们加入组织
> 我们会用心回答解决大家在项目使用中的问题也请大家在提问前至少Google或baidu珍爱生命远离无效的交流沟通
> 我们会用心回答解决大家在项目使用中的问题也请大家在提问前至少 Google baidu 珍爱生命远离无效的交流沟通
![](./doc/KK开源技术交流2群群聊二维码.png)
@ -99,16 +99,60 @@ pdf预览模式预览效果如下
- jodconverter
> 依赖外部环境
- redis (可选默认不用)
- OpenOffice或者LibreOffice(Windows下已内置Linux会自动安装Mac OS下需要手动安装)
- OpenOffice 或者 LibreOffice( Windows 下已内置Linux 脚本启动模式会自动安装Mac OS 下需要手动安装)
1. 第一步pull项目https://github.com/kekingcn/file-online-preview.git
1. 第一步pull 项目 https://github.com/kekingcn/file-online-preview.git
3. 第二步运行FilePreviewApplication的main方法服务启动后访问http://localhost:8012/
3. 第二步运行 ServerMain main 方法服务启动后访问 http://localhost:8012/
会看到如下界面代表服务启动成功
![输入图片说明](https://gitee.com/uploads/images/2017/1213/100221_ea15202e_492218.png "屏幕截图.png")
### 历史更新记录
> 2021年1月28日
2020农历年最后一个版本发布主要包含了部分 UI 改进和解决了 QQ 群友 Issue 里反馈的 Bug 修复最最重要的是发个新版过个好年
1. 引入galimatias,解决不规范文件名导致文件下载异常
2. 更新index接入演示界面UI风格
3. 更新markdown文件预览UI风格
4. 更新XML文件预览UI风格调整类文本预览架构更方便扩展
5. 更新simTxT文件预览UI风格
6. 调整多图连续预览上下翻图的UI
7. 采用apache-common-io包简化所有的文件下载io操作
8. XML文件预览支持切换纯文本模式
9. 增强url base64解码失败时的提示信息
10. 修复导包错误以及图片预览 bug
11. 修复发行包运行时找不到日志目录的问题
12. 修复压缩包内多图连续预览的bug
13. 修复大小写文件类型后缀没通用匹配的问题
14. 指定Base64转码采用Apache Commons-code中的实现修复base64部分jdk版本下出现的异常
15. 修复类文本类型HTML文件预览的bug
16. 修复dwg文件预览时无法在jpg和pdf两种类型之间切换
17. escaping of dangerous characters to prevent reflected xss
18. 修复重复编码导致文档转图片预览失败的问题&编码规范
> 2020年12月27日
2020年年终大版本更新架构全面设计代码全面重构代码质量全面提升二次开发更便捷欢迎拉源码品鉴提issuepr共同建设
1. 架构模块调整,大量的代码重构代码质量提升N个等级欢迎品鉴
2. 增强XML文件预览效果新增XML文档数结构预览
3. 新增markdown文件预览支持预览支持md渲染和源文本切换支持
4. 切换底层web server为jetty解决这个issuehttps://github.com/kekingcn/kkFileView/issues/168
5. 引入cpdetector解决文件编码识别问题
6. url采用base64+urlencode双编码彻底解决各种奇葩文件名预览问题
7. 新增配置项office.preview.switch.disabled控制offic文件预览切换开关
8. 优化文本类型文件预览逻辑采用Base64传输内容避免预览时再次请求文件内容
9. office预览图片模式禁用图片放大效果达到图片和pdf预览效果一致的体验
10. 直接代码静态设置pdfbox兼容低版本jdk在IDEA中运行也不会有警告提示
11. 移除guavahutool等非必须的工具包减少代码体积
12. Office组件加载异步化提速应用启动速度最快到5秒内
13. 合理设置预览消费队列的线程数
14. 修复压缩包里文件再次预览失败的bug
15. 修复图片预览的bug
> 2020年05月20日
1. 新增支持全局水印并支持通过参数动态改变水印内容
2. 新增支持CAD文件预览
@ -163,5 +207,13 @@ pdf预览模式预览效果如下
1. 引入pdf.js预览doc等文件支持doc标题生成pdf预览菜单支持手机端预览
### 使用登记
如果这个项目解决了你的实际问题可在https://gitee.com/kekingcn/file-online-preview/issues/IGSBV
如果这个项目解决了你的实际问题可在 https://gitee.com/kekingcn/file-online-preview/issues/IGSBV
登记下如果节省了你的三方预览服务费用也愿意支持下的话可点击下方捐助请作者喝杯咖啡也是非常感谢
### Stars 趋势图
#### Gitee
[![Stargazers over time](https://whnb.wang/img/kekingcn/file-online-preview)](https://whnb.wang/kekingcn/file-online-preview?e=86400)
#### GitHub
[![Stargazers over time](https://starchart.cc/kekingcn/kkFileView.svg)](https://starchart.cc/kekingcn/kkFileView)

View File

@ -3,13 +3,15 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.keking</groupId>
<parent>
<artifactId>filepreview</artifactId>
<groupId>cn.keking</groupId>
<version>3.5.1</version>
</parent>
<artifactId>office-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<!-- required for org.hyperic:sigar -->

View File

@ -81,7 +81,7 @@ public class OfficeUtils {
}
if (PlatformUtils.isWindows()) {
// %ProgramFiles(x86)% on 64-bit machines; %ProgramFiles% on 32-bit ones
String homePath = ConfigUtils.getHomePath();
String officePluginPath = ConfigUtils.getOfficePluginPath();
String programFiles = System.getenv("ProgramFiles(x86)");
if (programFiles == null) {
programFiles = System.getenv("ProgramFiles");
@ -89,7 +89,7 @@ public class OfficeUtils {
return findOfficeHome(
programFiles + File.separator + "OpenOffice 4",
programFiles + File.separator + "LibreOffice 4",
homePath + File.separator + "office"
officePluginPath + File.separator + "windows-office"
);
} else if (PlatformUtils.isMac()) {
return findOfficeHome(

View File

@ -9,6 +9,7 @@ import java.io.File;
public class ConfigUtils {
private static final String MAIN_DIRECTORY_NAME = "server";
private static final String OFFICE_PLUGIN_NAME = "office-plugin";
public static String getHomePath() {
String userDir = System.getenv("KKFILEVIEW_BIN_FOLDER");
@ -28,6 +29,23 @@ public class ConfigUtils {
return userDir;
}
public static String getOfficePluginPath() {
String userDir = System.getenv("KKFILEVIEW_BIN_FOLDER");
if (userDir == null) {
userDir = System.getProperty("user.dir");
}
if (userDir.endsWith("bin")) {
userDir = userDir.substring(0, userDir.length() - 4);
} else {
String separator = File.separator;
if (!userDir.contains(OFFICE_PLUGIN_NAME)) {
userDir = userDir + separator + OFFICE_PLUGIN_NAME;
}
}
return userDir;
}
public static String getCustomizedConfigPath() {
String homePath = getHomePath();
String separator = java.io.File.separator;

Some files were not shown because too many files have changed in this diff Show More