kkFileView
Introduction
Documentez la solution de projet en avant-première en ligne, construite à l'aide du framework Spring Boot populaire pour une configuration et un déploiement faciles. Ce projet open source polyvalent fournit une prise en charge de base pour un large éventail de formats de documents, notamment :
- Prend en charge les documents Office tels que
doc
, docx
, xls
, xlsx
, xlsm
, ppt
, pptx
, csv
, tsv
, , dotm
, xlt
, xltm
, dot
, xlam
, dotx
, xla,
, pages
etc. - Prend en charge les documents WPS Office nationaux tels que
wps
, dps
, et
, ett
, wpt
. - Prend en charge les documents bureautiques OpenOffice et LibreOffice tels que
odt
, ods
, ots
, odp
, otp
, six
, ott
, fodt
et fods
. - Prend en charge les fichiers d'organigrammes Visio tels que
vsd
, vsdx
. - Prend en charge les fichiers image système Windows tels que
wmf
, emf
. - Prend en charge les fichiers de modèle du logiciel Photoshop tels que
psd
, eps
. - Prend en charge les formats de documents tels que
pdf
, ofd
et rtf
. - Prend en charge les fichiers de modèles logiciels comme
xmind
. - Prise en charge des fichiers de workflow
bpmn
. - Prise en charge des fichiers de messagerie
eml
- Prise en charge des documents de livres
epub
- Prend en charge les fichiers de modèles 3D comme
obj
, 3ds
, stl
, ply
, gltf
, glb
, off
, 3dm
, fbx
, dae
, wrl
, 3mf
, ifc
, brep
, step
, iges
, fcstd
, bim
, etc. - Prend en charge les fichiers de modèles CAO tels que
dwg
, dxf
, dwf
iges
, igs
, dwt
, dng
, ifc
, dwfx
, stl
, cf2
, plt
, etc. - Prend en charge tous les fichiers texte brut tels que
txt
, xml
(rendu), md
(rendu), java
, php
, py
, js
, css
, etc. - Prend en charge les packages compressés tels que
zip
, rar
, jar
, tar
, gzip
, 7z
, etc. - Prend en charge la prévisualisation d'images (retournement, zoom, miroir) de
jpg
, jpeg
, png
, gif
, bmp
, ico
, jfif
, webp
, etc. - Prend en charge les fichiers de modèle d'informations d'image tels que
tif
et tiff
. - Prend en charge les fichiers au format image tels que
tga
. - Prend en charge les fichiers au format d'image vectorielle tels que
svg
. - Prend en charge
mp3
, wav
, mp4
, flv
. - Prend en charge de nombreux fichiers au format audio et vidéo tels que
avi
, mov
, wmv
, mkv
, 3gp
et rm
. - Prise en charge de
dcm
. - Prise en charge de
drawio
.
Caractéristiques
- Construisez avec la populaire botte à ressorts
- Facile à construire et à déployer
- Prend essentiellement en charge l'aperçu en ligne des documents bureautiques courants, tels que Doc, docx, Excel, PDF, TXT, zip, rar, images, etc.
- API REST
- Interface de prévisualisation de fichiers abstraite afin qu'il soit facile d'étendre davantage d'extensions de fichiers et de développer ce projet par vous-même
Site officiel et DOCS
URL:https://kkview.cn
Démo en direct
Veuillez traiter le service public avec bienveillance, sinon cela cesserait à tout moment.
URL:https://file.kkview.cn
Contactez-nous
Nous répondrons soigneusement à vos questions et résoudrons tous les problèmes que vous rencontrez lors de l’utilisation du projet. Nous vous demandons également de bien vouloir utiliser au moins Google ou Baidu avant de poser des questions afin de gagner du temps et d'éviter une communication inefficace. Chérissons nos vies et évitons les communications inefficaces.
Démarrage rapide
Pile technologique
- Spring boot:Spring BootGuide de référence de développement
- Marqueur gratuit
- Rédisson
- Convertisseur Jod
Dépendances
- Redis (Facultatif, Inutile par défaut)
- OpenOffice ou LibreOffice (intégré sous Windows, sera installé automatiquement sous Linux, doit être installé manuellement sous Mac OS)
Première étape : git pull https://github.com/kekingcn/kkFileView.git
deuxième étape:Exécutez la méthode principale de /server/src/main/java/cn/keking/ServerMain.java
. Après avoir démarré, visitez http://localhost:8012/
.
Journal des modifications
Le 14 décembre 2022, sortie de la version 4.1.0 :
- Conception de la page d'accueil mise à jour par @wsd7747.
- Compatible avec les tifs multipages pour la conversion pdf et jpg et l'aperçu en ligne de plusieurs pages pour l'aperçu de l'image tif par @zhangzhen1979.
- Construction de docker optimisée, en utilisant la méthode de construction en couches de @yl-yue.
- Implémentation du cryptage de fichiers basé sur le cache userToken par @yl-yue.
- Aperçu implémenté pour les fichiers Word, PPT et Excel cryptés par @yl-yue.
- Images Linux et Docker mises à niveau vers LibreOffice 7.3.
- Composant d'aperçu OFD mis à jour, composant d'aperçu tif et prise en charge supplémentaire du filigrane PPT.
- De nombreuses autres mises à niveau, optimisations et corrections de bugs. Nous remercions @yl-yue, @wsd7747, @zhangzhen1979, @tomhusky, @shenghuadun et @kischn.sun pour leurs contributions au code.
Le 6 juillet 2021, version 4.0.0 publiée :
- L'intégration d'OpenOffice dans le système sous-jacent a été remplacée par LibreOffice, ce qui entraîne une compatibilité améliorée et des effets de prévisualisation améliorés pour les fichiers Office.
- Correction de la vulnérabilité de traversée de répertoire dans les fichiers compressés.
- Correction du problème où la prévisualisation des fichiers PPT en mode PDF était inefficace.
- Correction du problème où l'affichage frontal du mode d'aperçu d'image pour les fichiers PPT était anormal.
- Ajout d'une nouvelle fonctionnalité : la fonction de téléchargement de fichiers sur la page d'accueil peut être activée ou désactivée en temps réel via la configuration.
- Optimisation de la journalisation de l'arrêt des processus Office.
- Optimisation de la logique de recherche des composants Office dans l'environnement Windows, LibreOffice intégré étant prioritaire.
- Optimisation de l'exécution synchrone du démarrage des processus Office.
17 juin 2021, version 3.6.0 publiée :
Cette version inclut la prise en charge des versions de type de fichier OFD, et toutes les fonctionnalités importantes de cette version ont été apportées par la communauté. Nous remercions @gaoxingzaq et @zhangxiaoxiao9527 pour leurs contributions au code.
- Ajout de la prise en charge de la prévisualisation des fichiers de type OFD. OFD est un format de fichier produit localement, similaire au PDF.
- Ajout de la prise en charge du transcodage et de la prévisualisation des fichiers vidéo via ffmpeg. Avec le transcodage activé, en théorie, tous les formats de fichiers vidéo courants tels que RM, RMVB, FLV, etc. sont pris en charge pour la prévisualisation.
- Embelli l'effet d'aperçu des types de fichiers PPT et PPTX, bien plus beau que la version précédente.
- Mise à jour des versions des dépendances telles que pdfbox, xstream, common-io.
28 janvier 2021 :
La mise à jour finale du Nouvel An lunaire 2020 a été publiée, comprenant principalement quelques améliorations de l'interface utilisateur, des corrections de bugs signalés par les utilisateurs du groupe QQ et des problèmes, et surtout, il s'agit d'une nouvelle version pour une bonne année.
- Introduction de galimatias pour résoudre le problème du téléchargement anormal de fichiers causé par des noms de fichiers non standard.
- Style d'interface utilisateur mis à jour pour l'interface de démonstration d'accès à l'index.
- Style d'interface utilisateur mis à jour pour l'aperçu du fichier de démarque.
- Style d'interface utilisateur mis à jour pour l'aperçu du fichier XML, ajustement de l'architecture de l'aperçu du fichier texte pour faciliter l'expansion.
- Style d'interface utilisateur mis à jour pour l'aperçu du fichier simTxT.
- Ajustement de l'interface utilisateur de l'aperçu continu de plusieurs images pour les retourner de haut en bas.
- Simplification de toutes les opérations d'E/S de téléchargement de fichiers en adoptant le package apache-common-io.
- L'aperçu du fichier XML prend en charge le passage en mode texte pur.
- Informations d'invite améliorées en cas d'échec du décodage de l'URL en base64.
- Correction d'erreurs d'importation et d'un bug d'aperçu de l'image.
- Correction du problème du répertoire de journaux manquant lors de l'exécution du package de version.
- Correction du bug de prévisualisation continue de plusieurs images dans le package compressé.
- Correction du problème d'absence de correspondance universelle pour les suffixes de types de fichiers en majuscules et minuscules.
- Spécification de l'utilisation de l'implémentation du code Apache Commons pour l'encodage Base64 afin de corriger les exceptions se produisant dans certaines versions du JDK.
- Correction du bug de prévisualisation des fichiers HTML des fichiers de type texte.
- Correction du problème de l'impossibilité de basculer entre jpg et pdf lors de la prévisualisation des fichiers dwg.
- Caractères dangereux échappés pour empêcher les XSS réfléchis.
- Correction du problème d'encodage en double provoquant l'échec de l'aperçu du document à l'image et normalisation de l'encodage.
27 décembre 2020 :
La mise à jour majeure de fin d'année 2020 comprend une conception d'architecture complète, une refactorisation complète du code, une amélioration significative de la qualité du code et un développement secondaire plus pratique. Nous vous invitons à réviser le code source et à contribuer à la construction en soulevant des problèmes et des demandes d'extraction.
- Modules d'architecture ajustés, code largement refactorisé et qualité du code améliorée de plusieurs niveaux. N'hésitez pas à réviser.
- Effet d'aperçu des fichiers XML amélioré et aperçu ajouté de la structure du document XML.
- Ajout de la prise en charge de l'aperçu des fichiers markdown, y compris la prise en charge du rendu md et du basculement entre le texte source et l'aperçu.
- Basculement du serveur Web sous-jacent vers Jetty, résolvant le problème : #168
- Introduction de cpdetector pour résoudre le problème de la reconnaissance du codage des fichiers.
- Adoption du double encodage avec base64 et urlencode pour les URL afin de résoudre complètement les problèmes de prévisualisation avec des noms de fichiers bizarres.
- Ajout d'un élément de configuration office.preview.switch.disabled pour contrôler le changement d'aperçu des fichiers Office.
- Logique de prévisualisation des fichiers texte optimisée, transmettant le contenu via Base64 pour éviter de demander à nouveau le contenu du fichier lors de la prévisualisation.
- Désactivation de l'effet de zoom de l'image en mode aperçu Office pour obtenir une expérience cohérente avec l'aperçu des images et des PDF.
- Définissez directement pdfbox pour qu'il soit compatible avec la version inférieure du JDK, et il n'y aura aucune invite d'avertissement même lorsqu'il est exécuté dans IDEA.
- Suppression des boîtes à outils non essentielles comme Guava et Hutool pour réduire le volume de code.
- Le chargement asynchrone des composants Office accélère le lancement de l'application en 5 secondes.
- Paramètres raisonnables du nombre de threads dans la file d’attente de consommation d’aperçu.
- Correction du bug où les fichiers dans les packages compressés ne pouvaient pas être prévisualisés à nouveau.
- Correction du bug dans l'aperçu de l'image.
20 mai 2020 :
- Prise en charge du filigrane global et du changement dynamique du contenu du filigrane via des paramètres
- Prise en charge de l'aperçu des fichiers CAO
- Ajoutez l'élément de configuration base.url, prenez en charge l'utilisation du proxy inverse nginx et définissez le chemin de contexte.
- Tous les éléments de configuration peuvent être lus à partir des variables d'environnement, ce qui est pratique pour le déploiement d'images Docker et une utilisation à grande échelle dans un cluster.
- Prend en charge la configuration de TrustHost (seule la source du fichier du site de confiance peut être prévisualisée) et protège le service de prévisualisation contre les abus
- Prise en charge de la configuration de la personnalisation du temps de nettoyage du cache (expression cron)
- Tout le texte brut reconnaissable peut être prévisualisé directement sans téléchargement, tel que .md .java .py, etc.
- Prise en charge de la configuration pour limiter le téléchargement de fichiers PDF après la conversion
- Optimiser la configuration du packaging Maven pour résoudre le problème du saut de ligne dans le script .sh
- Placez toutes les dépendances CDN sur le front-end localement pour les utilisateurs sans connexion réseau externe
- Le service de commentaires sur la page d'accueil est passé de Sohu ChangYan à gitalk
- Correction des exceptions d'aperçu pouvant être causées par des caractères spéciaux dans l'URL
- Correction de l'exception addtask de la file d'attente du fichier de transformation
- Correction d'autres problèmes connus
- Création du site officiel : https://kkview.cn
- Construction du référentiel d'images Docker officiel : https://hub.docker.com/r/keking/kkfileview
18 juin 2019 :
- Prise en charge du nettoyage automatique du cache et des fichiers d'aperçu
- Prise en charge de l'aperçu du fichier URL du flux http/https
- Prise en charge de l'aperçu du fichier URL FTP
- Ajouter une version Docker
8 avril 2019
- Implémentations de cache et de file d'attente abstraites, fournissant des implémentations JDK et REDIS (REDIS devient des dépendances facultatives)
- Fournit les packages zip et tar.gz et fournit un script de démarrage en un clic
17 janvier 2018
- Affinement du répertoire du projet, interface de prévisualisation des fichiers abstraits, extension facile de plus d'extensions de fichiers et dépolyisation de ce projet par vous-même
- Ajout de la contribution à la documentation en anglais (@幻幻Fate,@汝辉)
- Prise en charge de plus d'extensions de fichiers image
- Correction du problème selon lequel le carrousel d'images dans le fichier zip démarre toujours depuis le premier
12 janvier 2018
- Prise en charge de l'aperçu de plusieurs images
- Prise en charge de l'aperçu de la rotation des images dans rar/zip
2 janvier 2018
- Correction d'un problème de charabia lors de la prévisualisation d'un document txt causé par un problème d'encodage de fichier
- Correction du problème selon lequel certaines dépendances de modules sont introuvables
- Ajoutez un profil Spring Boot et la prise en charge de la configuration multi-environnements
- Ajoutez
pdf.js
pour prévisualiser les documents tels que les documents, etc., prise en charge de la génération de titres de documents sous forme de menu PDF, prise en charge de l'aperçu mobile
Parrainez-nous
Si ce projet vous a été utile, nous apprécions votre parrainage. Votre soutien est notre plus grande motivation.!