explaingit

kekingcn/kkfileview

14,121JavaAudience · developerComplexity · 4/5Setup · hard

TLDR

A self-hosted web service that previews over 100 file types, Word, Excel, PDF, images, video, CAD, 3D models, and more, directly in a browser, via a REST API your own app can call.

Mindmap

mindmap
  root((kkFileView))
    What it does
      Browser file preview
      No plugin needed
      REST API interface
    File types
      Office documents
      PDF and text
      Images and video
      CAD and 3D models
    Tech
      Spring Boot
      Java 21 required
      LibreOffice backend
      Redis optional
    Setup
      Pull source code
      Start Java server
      Local web address
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Embed a file preview widget in your web app so users can view Word or PDF files in the browser without downloading them.

USE CASE 2

Build an internal document portal where staff can preview CAD drawings, 3D models, and medical images.

USE CASE 3

Integrate the REST API into an existing system to add on-the-fly document conversion and preview for any supported format.

USE CASE 4

Host a self-contained preview microservice that handles over 100 file formats for a SaaS product.

Tech stack

JavaSpring BootLibreOfficeOpenOfficeRedis

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Java 21+, LibreOffice or OpenOffice installed on the server, Redis is optional for caching.

In plain English

kkFileView is an open-source tool that lets you preview many kinds of files directly in a web browser, without needing to download them or have the matching program installed. The idea is that another website or application can hand a file to kkFileView, and it renders a viewable version on a web page. It is built with Spring Boot, a common framework for building web services in the Java programming language, which the project says makes it straightforward to set up and run. The standout point of the README is the sheer range of file types it can show. This includes everyday office documents like Word, Excel, and PowerPoint, plus their WPS, OpenOffice, and LibreOffice equivalents, along with PDF, plain text, and code files. It goes well beyond that to cover images of many formats, audio and video files, compressed archives such as zip and rar, email files, e-books, flowcharts, 3D models, CAD drawings, and medical imaging files. The project offers a REST API, which is a standard way for other software to call it, and it is structured so developers can add support for more formats. The README points to an official website, documentation, and a live public demo, and asks people to be considerate with the shared demo service. The contact section politely asks users to search for answers themselves before opening questions. To run it, the README describes pulling the source code and starting the main Java program, after which the preview service is available at a local web address. It relies on OpenOffice or LibreOffice in the background to convert documents, with Redis as an optional extra. A large portion of the document is a detailed change history. The most recent entry, version 5.0.0, lists many improvements, new features, and bug fixes, and notes that it now requires Java version 21 or higher and changes some default preview settings.

Copy-paste prompts

Prompt 1
How do I integrate kkFileView's REST API into my web app so clicking a link previews a Word document in the browser?
Prompt 2
Set up kkFileView locally so I can preview PDF and Excel files from a test URL, and show me the API call format.
Prompt 3
What are the system requirements to run kkFileView 5.0.0 in production, including the Java version and LibreOffice setup?
Prompt 4
How do I add support for a new file type in kkFileView by extending its converter plugin?
Open on GitHub → Explain another repo

← kekingcn on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.