kkFileView
Einführung
Dokumentieren Sie eine Online-Vorschau der Projektlösung, die mit dem beliebten Spring Boot-Framework für eine einfache Einrichtung und Bereitstellung erstellt wurde. Dieses vielseitige Open-Source-Projekt bietet grundlegende Unterstützung für eine Vielzahl von Dokumentformaten, darunter:
- Unterstützt Office-Dokumente wie
doc
, docx
, xls
, xlsx
, xlsm
, ppt
, pptx
, csv
, tsv
, , dotm
, xlt
, xltm
, dot
, xlam
, dotx
, xla,
, pages
usw. - Unterstützt inländische WPS-Office-Dokumente wie
wps
, dps
, et
, ett
, wpt
. - Unterstützt OpenOffice- und LibreOffice-Office-Dokumente wie
odt
, ods
, ots
, odp
, otp
, six
, ott
, fodt
und fods
. - Unterstützt Visio-Flussdiagrammdateien wie
vsd
, vsdx
. - Unterstützt Windows-System-Image-Dateien wie
wmf
, emf
. - Unterstützt Photoshop-Softwaremodelldateien wie
psd
, eps
. - Unterstützt Dokumentformate wie
pdf
, ofd
und rtf
. - Unterstützt Softwaremodelldateien wie
xmind
. - Unterstützung für
bpmn
Workflow-Dateien. - Unterstützung für
eml
Maildateien - Unterstützung für
epub
Buchdokumente - Unterstützt 3D-Modelldateien wie
obj
, 3ds
, stl
, ply
, gltf
, glb
, off
, 3dm
, fbx
, dae
, wrl
, 3mf
, ifc
, brep
, step
, iges
, fcstd
, bim
usw. - Unterstützt CAD-Modelldateien wie
dwg
, dxf
, dwf
iges
, igs
, dwt
, dng
, ifc
, dwfx
, stl
, cf2
, plt
usw. - Unterstützt alle Nur-Text-Dateien wie
txt
, xml
(Rendering), md
(Rendering), java
, php
, py
, js
, css
usw. - Unterstützt komprimierte Pakete wie
zip
, rar
, jar
, tar
, gzip
, 7z
usw. - Unterstützt die Bildvorschau (Spiegeln, Zoomen, Spiegeln) von
jpg
, jpeg
, png
, gif
, bmp
, ico
, jfif
, webp
usw. - Unterstützt Bildinformationsmodelldateien wie
tif
und tiff
. - Unterstützt Bildformatdateien wie
tga
. - Unterstützt Vektorbildformatdateien wie
svg
. - Unterstützt
mp3
, wav
, mp4
, flv
. - Unterstützt viele Audio- und Videoformatdateien wie
avi
, mov
, wmv
, mkv
, 3gp
und rm
. - Unterstützt
dcm
. - Unterstützt
drawio
.
Merkmale
- Bauen Sie mit der beliebten Rahmenfedermanschette
- Einfach zu erstellen und bereitzustellen
- Unterstützt grundsätzlich die Online-Vorschau gängiger Office-Dokumente wie Doc, docx, Excel, PDF, TXT, zip, rar, Bilder usw
- REST-API
- Abstrakte Dateivorschau-Schnittstelle, sodass Sie ganz einfach weitere Dateierweiterungen erweitern und dieses Projekt selbst entwickeln können
Offizielle Website und DOCS
URL:https://kkview.cn
Live-Demo
Bitte behandeln Sie den öffentlichen Dienst freundlich, sonst würde dies jederzeit aufhören.
URL:https://file.kkview.cn
Kontaktieren Sie uns
Wir werden Ihre Fragen sorgfältig beantworten und alle Probleme lösen, die bei der Nutzung des Projekts auftreten. Wir bitten Sie außerdem, mindestens Google oder Baidu zu nutzen, bevor Sie Fragen stellen, um Zeit zu sparen und ineffektive Kommunikation zu vermeiden. Schätzen wir unser Leben und halten wir uns von ineffektiver Kommunikation fern.
Schnellstart
Technologie-Stack
- Spring Boot: Spring Boot-Entwicklungsreferenzhandbuch
- Freemarker
- Redisson
- Jodconverter
Abhängigkeiten
- Redis (optional, standardmäßig nicht erforderlich)
- OpenOffice oder LibreOffice (In Windows integriert, wird unter Linux automatisch installiert, muss unter Mac OS manuell installiert werden)
Erster Schritt: git pull https://github.com/kekingcn/kkFileView.git
Zweiter Schritt: Führen Sie die Hauptmethode von /server/src/main/java/cn/keking/ServerMain.java
aus. Besuchen Sie nach dem Start http://localhost:8012/
.
Änderungsprotokoll
14. Dezember 2022, Version 4.1.0 veröffentlicht:
- Aktualisiertes Homepage-Design von @wsd7747.
- Kompatibel mit mehrseitigem TIF für die PDF- und JPG-Konvertierung und mehrseitiger Online-Vorschau für die TIF-Bildvorschau von @zhangzhen1979.
- Optimierter Docker-Build unter Verwendung der Layered-Build-Methode von @yl-yue.
- Dateiverschlüsselung basierend auf dem UserToken-Cache von @yl-yue implementiert.
- Vorschau für verschlüsselte Word-, PPT- und Excel-Dateien von @yl-yue implementiert.
- Linux- und Docker-Images auf LibreOffice 7.3 aktualisiert.
- Aktualisierte OFD-Vorschaukomponente, TIF-Vorschaukomponente und Unterstützung für PPT-Wasserzeichen hinzugefügt.
- Zahlreiche weitere Upgrades, Optimierungen und Fehlerbehebungen. Wir danken @yl-yue, @wsd7747, @zhangzhen1979, @tomhusky, @shenghuadun und @kischn.sun für ihre Codebeiträge.
6. Juli 2021, Version 4.0.0 veröffentlicht:
- Die Integration von OpenOffice in das zugrunde liegende System wurde durch LibreOffice ersetzt, was zu einer verbesserten Kompatibilität und verbesserten Vorschaueffekten für Office-Dateien führt.
- Die Schwachstelle beim Verzeichnisdurchlauf in komprimierten Dateien wurde behoben.
- Das Problem wurde behoben, bei dem die Vorschau von PPT-Dateien im PDF-Modus wirkungslos war.
- Das Problem wurde behoben, bei dem die Frontend-Anzeige des Bildvorschaumodus für PPT-Dateien abnormal war.
- Neue Funktion hinzugefügt: Die Datei-Upload-Funktion auf der Homepage kann in Echtzeit durch Konfiguration aktiviert oder deaktiviert werden.
- Die Protokollierung des Herunterfahrens von Office-Prozessen wurde optimiert.
- Die Logik zum Auffinden von Office-Komponenten in der Windows-Umgebung wurde optimiert, wobei das integrierte LibreOffice Vorrang hat.
- Die synchrone Ausführung startender Office-Prozesse wurde optimiert.
17. Juni 2021, Version 3.6.0 veröffentlicht:
Diese Version bietet Unterstützung für OFD-Dateitypversionen und alle wichtigen Funktionen in dieser Version wurden von der Community beigesteuert. Wir danken @gaoxingzaq und @zhangxiaoxiao9527 für ihre Codebeiträge.
- Unterstützung für die Vorschau von OFD-Dateien hinzugefügt. OFD ist ein im Inland produziertes Dateiformat, das PDF ähnelt.
- Unterstützung für die Transkodierung und Vorschau von Videodateien über ffmpeg hinzugefügt. Bei aktivierter Transkodierung werden theoretisch alle gängigen Videodateiformate wie RM, RMVB, FLV usw. für die Vorschau unterstützt.
- Der Vorschaueffekt von PPT- und PPTX-Dateitypen wurde verbessert und sieht viel besser aus als in der Vorgängerversion.
- Die Versionen von Abhängigkeiten wie pdfbox, xstream, common-io wurden aktualisiert.
28. Januar 2021:
Das letzte Update des Lunar New Year 2020 wurde veröffentlicht und enthält hauptsächlich einige Verbesserungen der Benutzeroberfläche, von Benutzern der QQ-Gruppe gemeldete Fehlerbehebungen und Probleme, und vor allem handelt es sich um eine neue Version für ein gutes Jahr.
- Einführung von Galimatias, um das Problem des abnormalen Dateidownloads zu lösen, der durch nicht standardmäßige Dateinamen verursacht wird.
- Aktualisierter UI-Stil der Demonstrationsoberfläche für den Indexzugriff.
- Aktualisierter UI-Stil der Markdown-Dateivorschau.
- Der UI-Stil der XML-Dateivorschau wurde aktualisiert und die Architektur der Textdateivorschau angepasst, um die Erweiterung zu erleichtern.
- Aktualisierter UI-Stil der simTxT-Dateivorschau.
- Die Benutzeroberfläche der kontinuierlichen Vorschau mehrerer Bilder wurde so angepasst, dass sie nach oben und unten geklappt wird.
- Vereinfachte alle E/A-Vorgänge zum Herunterladen von Dateien durch die Übernahme des Pakets apache-common-io.
- Die XML-Dateivorschau unterstützt den Wechsel in den reinen Textmodus.
- Verbesserte Eingabeaufforderungsinformationen, wenn die Base64-Dekodierung der URL fehlschlägt.
- Importfehler und Fehler in der Bildvorschau behoben.
- Das Problem des fehlenden Protokollverzeichnisses beim Ausführen des Release-Pakets wurde behoben.
- Der Fehler der kontinuierlichen Vorschau mehrerer Bilder im komprimierten Paket wurde behoben.
- Das Problem, dass es keine universelle Übereinstimmung für Dateitypsuffixe in Groß- und Kleinbuchstaben gab, wurde behoben.
- Spezifiziert die Verwendung der Apache Commons-Code-Implementierung für die Base64-Codierung, um Ausnahmen zu beheben, die in einigen JDK-Versionen auftreten.
- Der Fehler bei der HTML-Dateivorschau textähnlicher Dateien wurde behoben.
- Das Problem, dass bei der Vorschau von DWG-Dateien nicht zwischen JPG und PDF gewechselt werden konnte, wurde behoben.
- Gefährliche Zeichen wurden maskiert, um reflektiertes XSS zu verhindern.
- Das Problem der doppelten Kodierung, die zum Scheitern der Dokument-zu-Bild-Vorschau führte, wurde behoben und die Kodierung standardisiert.
27. Dezember 2020:
Das große Update zum Jahresende 2020 umfasst ein umfassendes Architekturdesign, eine vollständige Code-Umgestaltung, eine deutliche Verbesserung der Codequalität und eine bequemere Sekundärentwicklung. Wir heißen Sie herzlich willkommen, den Quellcode zu überprüfen und durch das Ansprechen von Problemen und Pull-Requests zum Aufbau beizutragen.
- Angepasste Architekturmodule, umfassend überarbeiteter Code und um mehrere Stufen verbesserte Codequalität. Bitte zögern Sie nicht, eine Bewertung abzugeben.
- Verbesserter XML-Dateivorschaueffekt und hinzugefügte Vorschau der XML-Dokumentstruktur.
- Unterstützung für die Markdown-Dateivorschau hinzugefügt, einschließlich Unterstützung für MD-Rendering und Umschalten zwischen Quelltext und Vorschau.
- Der zugrunde liegende Webserver wurde auf Jetty umgestellt, wodurch das Problem behoben wurde: #168
- cpdetector wurde eingeführt, um das Problem der Erkennung der Dateikodierung zu lösen.
- Einführung der doppelten Kodierung mit Base64 und URL-Code für URLs, um Vorschauprobleme mit bizarren Dateinamen vollständig zu lösen.
- Konfigurationselement office.preview.switch.disabled hinzugefügt, um den Wechsel der Office-Dateivorschau zu steuern.
- Optimierte Vorschaulogik für Textdateien, die Inhalte über Base64 überträgt, um zu vermeiden, dass Dateiinhalte während der Vorschau erneut angefordert werden.
- Der Bildzoomeffekt im Office-Vorschaumodus wurde deaktiviert, um ein einheitliches Erlebnis mit der Bild- und PDF-Vorschau zu erzielen.
- Stellen Sie pdfbox direkt so ein, dass es mit JDK einer niedrigeren Version kompatibel ist, und es werden keine Warnmeldungen angezeigt, selbst wenn es in IDEA ausgeführt wird.
- Unwesentliche Toolkits wie Guava und Hutool wurden entfernt, um das Codevolumen zu reduzieren.
- Das asynchrone Laden von Office-Komponenten beschleunigt den Anwendungsstart auf 5 Sekunden.
- Angemessene Einstellungen für die Anzahl der Threads in der Vorschau-Verbrauchswarteschlange.
- Der Fehler wurde behoben, bei dem Dateien in komprimierten Paketen nicht erneut in der Vorschau angezeigt wurden.
- Der Fehler in der Bildvorschau wurde behoben.
20. Mai 2020:
- Unterstützung für globale Wasserzeichen und dynamische Änderung des Wasserzeicheninhalts durch Parameter
- Unterstützung für die CAD-Dateivorschau
- Fügen Sie das Konfigurationselement base.url hinzu, unterstützen Sie die Verwendung des Nginx-Reverse-Proxys und legen Sie den Kontextpfad fest
- Alle Konfigurationselemente können aus Umgebungsvariablen gelesen werden, was für die Docker-Image-Bereitstellung und die groß angelegte Verwendung im Cluster praktisch ist
- Unterstützen Sie die Konfiguration von TrustHost (nur die Dateiquelle der Vertrauensseite kann in der Vorschau angezeigt werden) und schützen Sie den Vorschaudienst vor Missbrauch
- Unterstützt die Konfiguration der angepassten Cache-Bereinigungszeit (Cron-Ausdruck)
- Alle erkennbaren Klartexte können ohne Download direkt in der Vorschau angezeigt werden, z. B. .md, .java, .py usw
- Unterstützt die Konfiguration, um den Download von PDF-Dateien nach der Konvertierung einzuschränken
- Optimieren Sie die Maven-Paketkonfiguration, um das Problem des Zeilenumbruchs im .sh-Skript zu lösen
- Platzieren Sie alle CDN-Abhängigkeiten lokal im Frontend für Benutzer ohne externe Netzwerkverbindung
- Der Kommentardienst auf der Startseite wurde von Sohu ChangYan auf Gitalk umgestellt
- Vorschauausnahmen behoben, die durch Sonderzeichen in der URL verursacht werden können
- Die Addtask-Ausnahme der Transformationsdateiwarteschlange wurde behoben
- Andere bekannte Probleme wurden behoben
- Offizieller Website-Build: https://kkview.cn
- Offizieller Docker-Image-Repository-Build: https://hub.docker.com/r/keking/kkfileview
18. Juni 2019:
- Unterstützt die automatische Reinigung von Cache- und Vorschaudateien
- Unterstützt die Vorschau der http/https-Stream-URL-Datei
- Unterstützt die Vorschau von FTP-URL-Dateien
- Docker-Build hinzufügen
8. April 2019
- Zusammenfassung von Cache- und Warteschlangenimplementierungen, Bereitstellung von JDK- und REDIS-Implementierungen (REDIS wird zu optionalen Abhängigkeiten)
- Stellt ZIP- und TAR.GZ-Pakete sowie ein Ein-Klick-Startskript bereit
17. Januar 2018
- Das Projektverzeichnis und die abstrakte Dateivorschau-Schnittstelle wurden verfeinert. Es ist einfach, weitere Dateierweiterungen zu erweitern und dieses Projekt selbst bereitzustellen
- Beitrag zur englischen Dokumentation (@幻幻Fate,@汝辉) hinzugefügt
- Unterstützung für weitere Bilddateierweiterungen
- Das Problem wurde behoben, dass das Bildkarussell in der ZIP-Datei immer von vorne begann
12. Januar 2018
- Unterstützung für die Vorschau mehrerer Bilder
- Unterstützung für die Bildrotationsvorschau in rar/zip
2. Januar 2018
- Problem mit Kauderwelsch bei der Vorschau eines TXT-Dokuments behoben, das durch ein Problem mit der Dateikodierung verursacht wurde
- Das Problem, dass einige Modulabhängigkeiten nicht gefunden werden konnten, wurde behoben
- Fügen Sie ein Spring-Boot-Profil und Unterstützung für die Konfiguration mehrerer Umgebungen hinzu
- Fügen Sie
pdf.js
hinzu, um eine Vorschau der Dokumente wie Dokumente usw. anzuzeigen, Unterstützung für die Generierung von Dokumentüberschriften als PDF-Menü und Unterstützung für die mobile Vorschau
Sponsern Sie uns
Wenn Ihnen dieses Projekt geholfen hat, freuen wir uns über Ihre Unterstützung. Ihre Unterstützung ist unsere größte Motivation.!