GVPkeking / kkFileView

Explore and code with more than 6 million developers，Free private repositories ！：）
Notice: Creating folder will generate an empty file .keep, because not support in Git

file-online-preview

Introduction

This kekingcn kkFileView project is intended to be a solution for previewing documents online. At present,there are some similar paid products in the industry. Such as 【永中office】,【office365】,【idocv】, etc... It is an open source implementation and released under the Apache License version 2.0. Finally,It is aimed to feedback the community after obtaining the consent of company executives, special thanks to the supports of @唐老大 and the contributions of @端木详笑.

Features

• Build with the popular frame spring boot
• Easy to build and deploy
• Basically support online preview of mainstream office documents, such as Doc, docx, Excel, PDF, TXT, zip, rar, pictures, etc
• REST API
• Abstract file preview interface so that it is easy to extend more file extensions and develop this project on your own

Live demo

Please treat public service kindly, or this would stop at any time.

Documentation

We will answer everyone's questions in use of this project. And please Google or Baidu first before asking a question, so that we can solve it efficiently. Cherish life away from ineffective communication.

QQ group：613025121

Pictures for some samples

1. Text Preview

It supports preview of all types of text documents. Because there are too many types of text documents, it is impossible to enumerate them. The default open types are as follows: txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd
The text preview effect is as follows

2. Picture preview

Support jpg, jpeg, png, gif and other picture previews (flip, zoom, mirror). The preview effect is as follows

3. Word document preview

Doc and docx document previews are supported. There are two modes of word previews: one is that each page of word is converted to picture previews, the other is that the whole word document is converted to PDF, and then previews PDF. The applicable scenarios of the two modes are as follows

• Picture preview modes: the word file is large, and the whole PDF loaded in the foreground is too slow
The preview effect of picture preview mode is as follows

The preview effect of PDF preview mode is as follows

4. PPT document preview

ppt and pptx document preview are supported. Like word documents, there are two preview modes
The preview effect of picture preview mode is as follows

The preview effect of PDF preview mode is as follows

5. PDF document preview

Pdf document preview is supported. Like word document, there are two preview modes
The preview effect of picture preview mode is as follows

The preview effect of PDF preview mode is as follows

6. EXCEL document preview

Support XLS, xlsx document preview, the preview effect is as follows

7. Compressed file Preview

Support zip, rar, jar, tar, gzip and other compressed packages. The preview effect is as follows

Click the file name in the compressed package to preview the file directly. The preview effect is as follows

8. Multimedia file Preview

Theoretically, all video and audio files are supported. Since all file formats cannot be enumerated, the default open type is as follows
mp3,wav,mp4,flv
The video preview effect is as follows

The audio preview effect is as follows

CAD DWG document preview is supported. Like word document, there are two preview modes
The preview effect of Picture preview mode is as follows

The preview effect of PDF preview mode is as follows

Considering space issues, the pictures of other types of documents will not be shown here.You can deploy it by yourself if you are interested in our project.There is a way to deploy it as below.

Quick Start

Technology stack

Dependencies

• Redis(Optional, Unnecessary by default)
• OpenOffice or LibreOffice(Integrated on Windows, will be installed automatically on Linux, need to be manually installed on Mac OS)
1. First step：git pull https://github.com/kekingcn/file-online-preview.git

2. Third step：Run the main method of FilePreviewApplication.java.After starting,visit http://localhost:8012/. If everything is ok,you will see the picture below.

Changelog

May 20th 2020 ：

1. Support for global watermark and dynamic change of watermark content through parameters
2. Support for CAD file Preview
3. Add configuration item base.url, support using nginx reverse proxy and set context-path
4. All configuration items can be read from environment variables, which is convenient for docker image deployment and large-scale use in cluster
5. Support the configuration of TrustHost (only the file source from the trust site can be previewed), and protect the preview service from abuse
6. Support configuration of customize cache cleanup time (cron expression)
7. All recognizable plain text can be previewed directly without downloading, such as .md .java .py, etc
9. Optimize Maven packaging configuration to solve the problem of line break in .sh script
10. Place all CDN dependencies on the front end locally for users without external network connection
11. Comment Service on home page switched from Sohu ChangYan to gitalk
12. Fixed preview exceptions that may be caused by special characters in the URL
14. Fixed other known issues
15. Official website build: https://kkfileview.keking.cn
16. Official docker image repository build: https://hub.docker.com/r/keking/kkfileview

June 18th 2019 ：

1. Support automatic cleaning of cache and preview files
2. Support http/https stream url file preview
3. Support FTP url file preview

April 8th 2019

1. Cache and queue implementations abstract, providing JDK and REDIS implementations (REDIS becomes optional dependencies)
2. Provides zip and tar.gz packages, and provides a one-click startup script

January 17th 2018

1. Refined the project directory, abstract file preview interface, Easy to extend more file extensions and depoly this project on your own
2. Added English documentation (@幻幻Fate，@汝辉) contribution
3. Support for more image file extensions
4. Fixed the issue that image carousel in zip file will always start from the first

January 12th 2018

1. Support for multiple images preview
2. Support for images rotation preview in rar/zip

January 2nd 2018

1. Fixed gibberish issue when preview a txt document caused by the file encoding problem
2. Fixed the issue that some module dependencies can not be found
3. Add a spring boot profile, and support for Multi-environment configuration
4. Add pdf.js to preview the documents such as doc,etc.,support for generating doc headlines as pdf menu，support for mobile preview

Register Usage

If this project is helpful for you, please register on 'https://gitee.com/kekingcn/file-online-preview/issues/IGSBV', If this project helps you to economize the service charge for preview of documents, as well as you are willing to support us, click 【donate】 below to donate a cup of coffee, we would appreciate it.

Java
Apache-2.0