kkFileView
Introducción
Solución de proyecto de vista previa de documentos en línea, creada utilizando el popular marco Spring Boot para una fácil configuración e implementación. Este versátil proyecto de código abierto proporciona soporte básico para una amplia gama de formatos de documentos, que incluyen:
- Admite documentos de Office como
doc
, docx
, xls
, xlsx
, xlsm
, ppt
, pptx
, csv
, tsv
, dotm
, xlt
, xltm
, dot
, xlam
, dotx
, xla,
pages
, etc. - Admite documentos nacionales de WPS Office como
wps
, dps
, et
, ett
, wpt
. - Admite documentos de oficina de OpenOffice, LibreOffice como
odt
, ods
, ots
, odp
, otp
, six
, ott
, fodt
y fods
. - Admite archivos de diagramas de flujo de Visio como
vsd
, vsdx
. - Admite archivos de imagen del sistema de Windows como
wmf
, emf
. - Admite archivos de modelo de software Photoshop como
psd
, eps
. - Admite formatos de documentos como
pdf
, ofd
y rtf
. - Admite archivos de modelo de software como
xmind
. - Soporte para archivos de flujo de trabajo
bpmn
. - Soporte para archivos de correo
eml
- Soporte para documentos de libros
epub
- Admite archivos de modelos 3D como
obj
, 3ds
, stl
, ply
, gltf
, glb
, off
, 3dm
, fbx
, dae
, wrl
, 3mf
, ifc
, brep
, step
, iges
, fcstd
, bim
, etc. - Admite archivos de modelos CAD como
dwg
, dxf
, dwf
iges
, igs
, dwt
, dng
, ifc
, dwfx
, stl
, cf2
, plt
, etc. - Admite todos los archivos de texto sin formato, como
txt
, xml
(renderizado), md
(renderizado), java
, php
, py
, js
, css
, etc. - Admite paquetes comprimidos como
zip
, rar
, jar
, tar
, gzip
, 7z
, etc. - Admite vista previa de imágenes (voltear, ampliar, reflejar) de
jpg
, jpeg
, png
, gif
, bmp
, ico
, jfif
, webp
, etc. - Admite archivos de modelos de información de imágenes como
tif
y tiff
. - Admite archivos de formato de imagen como
tga
. - Admite archivos de formato de imagen vectorial como
svg
. - Admite
mp3
, wav
, mp4
, flv
. - Admite muchos archivos de formato de audio y video, como
avi
, mov
, wmv
, mkv
, 3gp
y rm
. - Soportes para
dcm
. - Soportes para
drawio
.
Características
- Construya con la popular bota de resorte de marco
- Fácil de construir e implementar
- Básicamente admite vista previa en línea de documentos de Office convencionales, como Doc, docx, Excel, PDF, TXT, zip, rar, imágenes, etc.
- API DESCANSO
- Interfaz de vista previa de archivos abstractos para que sea fácil extender más extensiones de archivos y desarrollar este proyecto por su cuenta
Sitio web oficial y DOCS
URL: https://kkview.cn
Demostración en vivo
Por favor, traten al servicio público con amabilidad, o esto terminaría en cualquier momento.
URL: https://file.kkview.cn
Contáctenos
Responderemos atentamente a sus preguntas y resolveremos cualquier problema que encuentre al utilizar el proyecto. También le rogamos que utilice al menos Google o Baidu antes de hacer preguntas para ahorrar tiempo y evitar comunicaciones ineficaces. Valoremos nuestras vidas y mantengámonos alejados de la comunicación ineficaz.
Inicio rápido
Pila de tecnología
- Spring boot: Guía de referencia de desarrollo de spring boot
- marcador libre
- redisson
- Jodconvertidor
Dependencias
- Redis (opcional, innecesario por defecto)
- OpenOffice o LibreOffice (integrado en Windows, se instalará automáticamente en Linux, debe instalarse manualmente en Mac OS)
Primer paso: git pull https://github.com/kekingcn/kkFileView.git
Segundo paso: Ejecute el método principal de /server/src/main/java/cn/keking/ServerMain.java
. Después de comenzar, visite http://localhost:8012/
.
Registro de cambios
14 de diciembre de 2022, versión 4.1.0 lanzada:
- Diseño de página de inicio actualizado por @wsd7747.
- Compatible con tif de varias páginas para conversión de pdf y jpg y vista previa en línea de varias páginas para vista previa de imágenes tif de @ zhangzhen1979.
- Construcción de Docker optimizada, utilizando el método de construcción en capas de @yl-yue.
- Se implementó el cifrado de archivos basado en la caché de userToken de @yl-yue.
- Vista previa implementada para archivos cifrados de Word, PPT y Excel por @yl-yue.
- Imágenes de Linux y Docker actualizadas a LibreOffice 7.3.
- Componente de vista previa OFD actualizado, componente de vista previa tif y soporte agregado para marcas de agua PPT.
- Muchas otras actualizaciones, optimizaciones y correcciones de errores. Agradecemos a @yl-yue, @wsd7747, @zhangzhen1979, @tomhusky, @shenghuadun y @kischn.sun por sus contribuciones de código.
6 de julio de 2021, versión 4.0.0 lanzada:
- La integración de OpenOffice en el sistema subyacente ha sido reemplazada por LibreOffice, lo que resulta en una compatibilidad mejorada y efectos de vista previa mejorados para los archivos de Office.
- Se corrigió la vulnerabilidad de cruce de directorios en archivos comprimidos.
- Se solucionó el problema por el cual la vista previa de archivos PPT en modo PDF no era efectiva.
- Se solucionó el problema por el cual la visualización frontal del modo de vista previa de imágenes para archivos PPT era anormal.
- Se agregó una nueva característica: la función de carga de archivos en la página de inicio se puede habilitar o deshabilitar en tiempo real a través de la configuración.
- Optimicé el registro del cierre del proceso de Office.
- Se optimizó la lógica para buscar componentes de Office en el entorno Windows, dando prioridad al LibreOffice integrado.
- Optimicé la ejecución sincrónica de los procesos iniciales de Office.
17 de junio de 2021, versión 3.6.0 lanzada:
Esta versión incluye soporte para versiones de tipo de archivo OFD y todas las características importantes de esta versión fueron aportadas por la comunidad. Agradecemos a @gaoxingzaq y @ zhangxiaoxiao9527 por sus contribuciones de código.
- Se agregó soporte para obtener una vista previa de archivos tipo OFD. OFD es un formato de archivo de producción nacional similar al PDF.
- Se agregó soporte para transcodificar y obtener una vista previa de archivos de video a través de ffmpeg. Con la transcodificación habilitada, en teoría, todos los formatos de archivos de vídeo convencionales, como RM, RMVB, FLV, etc., son compatibles con la vista previa.
- Se embelleció el efecto de vista previa de los tipos de archivos PPT y PPTX, mucho mejor que la versión anterior.
- Actualizadas las versiones de dependencias como pdfbox, xstream, common-io.
28 de enero de 2021:
Se lanzó la actualización final del Año Nuevo Lunar 2020, que incluye principalmente algunas mejoras en la interfaz de usuario, correcciones de errores reportados por los usuarios del grupo QQ y problemas, y lo más importante, es una nueva versión para un buen año.
- Se introdujeron galimatias para resolver el problema de la descarga anormal de archivos causada por nombres de archivos no estándar.
- Estilo de interfaz de usuario actualizado de la interfaz de demostración de acceso al índice.
- Estilo de interfaz de usuario actualizado para la vista previa del archivo de rebajas.
- Se actualizó el estilo de la interfaz de usuario de la vista previa del archivo XML y se ajustó la arquitectura de la vista previa del archivo de texto para facilitar la expansión.
- Estilo de interfaz de usuario actualizado de la vista previa del archivo simTxT.
- Se ajustó la interfaz de usuario de vista previa continua de múltiples imágenes para girar hacia arriba y hacia abajo.
- Se simplificaron todas las operaciones de IO de descarga de archivos mediante la adopción del paquete apache-common-io.
- La vista previa del archivo XML admite el cambio al modo de texto puro.
- Información de aviso mejorada cuando falla la decodificación de URL base64.
- Se corrigieron errores de importación y errores de vista previa de imágenes.
- Se solucionó el problema de que faltaba el directorio de registro al ejecutar el paquete de lanzamiento.
- Se corrigió el error de vista previa continua de múltiples imágenes en el paquete comprimido.
- Se solucionó el problema de que no había coincidencia universal para los sufijos de tipos de archivos en mayúsculas y minúsculas.
- Se especificó el uso de la implementación del código Apache Commons para la codificación Base64 para corregir excepciones que ocurren en algunas versiones de JDK.
- Se corrigió el error de la vista previa de archivos HTML de archivos similares a texto.
- Se solucionó el problema de la imposibilidad de cambiar entre jpg y pdf al obtener una vista previa de archivos dwg.
- Caracteres peligrosos escapados para evitar xss reflejados.
- Se solucionó el problema de la codificación duplicada que causaba la falla en la vista previa del documento a imagen y se estandarizó la codificación.
27 de diciembre de 2020:
La importante actualización de fin de año 2020 incluye un diseño de arquitectura integral, una refactorización completa del código, una mejora significativa en la calidad del código y un desarrollo secundario más conveniente. Le invitamos a revisar el código fuente y contribuir a la construcción planteando problemas y solicitudes de extracción.
- Módulos de arquitectura ajustados, código ampliamente refactorizado y calidad del código mejorada en varios niveles. No dude en revisarlo.
- Efecto de vista previa de archivos XML mejorado y vista previa agregada de la estructura del documento XML.
- Se agregó soporte para la vista previa del archivo Markdown, incluido el soporte para la representación md y el cambio entre el texto fuente y la vista previa.
- Se cambió el servidor web subyacente a Jetty, resolviendo el problema: #168
- Se introdujo cpdetector para resolver el problema del reconocimiento de codificación de archivos.
- Se adoptó codificación doble con base64 y código de URL para las URL para resolver completamente los problemas de vista previa con nombres de archivos extraños.
- Se agregó el elemento de configuración office.preview.switch.disabled para controlar el cambio de vista previa del archivo de Office.
- Lógica de vista previa de archivos de texto optimizada, que transmite contenido a través de Base64 para evitar volver a solicitar el contenido del archivo durante la vista previa.
- Se deshabilitó el efecto de zoom de la imagen en el modo de vista previa de Office para lograr una experiencia consistente con la vista previa de imágenes y PDF.
- Configure directamente pdfbox para que sea compatible con la versión anterior de JDK y no habrá mensajes de advertencia incluso cuando se ejecute en IDEA.
- Se eliminaron kits de herramientas no esenciales como Guava y Hutool para reducir el volumen de código.
- La carga asincrónica de componentes de Office acelera el inicio de la aplicación en 5 segundos.
- Configuraciones razonables del número de subprocesos en la cola de consumo de vista previa.
- Se corrigió el error por el cual los archivos en paquetes comprimidos no podían obtener una vista previa nuevamente.
- Se corrigió el error en la vista previa de la imagen.
20 de mayo de 2020:
- Soporte para marcas de agua globales y cambio dinámico de contenido de marcas de agua a través de parámetros
- Soporte para vista previa de archivos CAD
- Agregue el elemento de configuración base.url, admita el uso del proxy inverso nginx y establezca la ruta de contexto
- Todos los elementos de configuración se pueden leer desde variables de entorno, lo cual es conveniente para la implementación de imágenes de Docker y el uso a gran escala en clústeres.
- Admite la configuración de TrustHost (solo se puede obtener una vista previa del origen del archivo del sitio de confianza) y protege el servicio de vista previa contra abusos.
- Admite configuración para personalizar el tiempo de limpieza de caché (expresión cron)
- Todo el texto sin formato reconocible se puede obtener una vista previa directamente sin descargarlo, como .md .java .py, etc.
- Configuración de soporte para limitar la descarga de archivos PDF después de la conversión
- Optimice la configuración del empaquetado Maven para resolver el problema del salto de línea en el script .sh
- Coloque todas las dependencias de CDN en el front-end localmente para usuarios sin conexión de red externa.
- El servicio de comentarios en la página de inicio cambió de Sohu ChangYan a gitalk
- Se corrigieron excepciones de vista previa que pueden ser causadas por caracteres especiales en la URL.
- Se corrigió la excepción addtask de la cola del archivo de transformación.
- Se corrigieron otros problemas conocidos
- Creación del sitio web oficial: https://kkview.cn
- Compilación oficial del repositorio de imágenes de Docker: https://hub.docker.com/r/keking/kkfileview
18 de junio de 2019:
- Admite la limpieza automática de caché y archivos de vista previa
- Admite vista previa del archivo URL de flujo http/https
- Admite vista previa de archivos de URL FTP
- Agregar compilación de Docker
8 de abril de 2019
- Implementaciones de caché y cola abstractas, que proporcionan implementaciones de JDK y REDIS (REDIS se convierte en dependencias opcionales)
- Proporciona paquetes zip y tar.gz y proporciona un script de inicio con un solo clic
17 de enero de 2018
- Se refinó el directorio del proyecto, la interfaz de vista previa de archivos abstractos, es fácil extender más extensiones de archivos e implementar este proyecto por su cuenta.
- Se agregó la contribución de documentación en inglés (@幻幻Fate,@汝辉)
- Soporte para más extensiones de archivos de imagen
- Se solucionó el problema por el cual el carrusel de imágenes en un archivo zip siempre comenzaría desde el primero
12 de enero de 2018
- Soporte para vista previa de múltiples imágenes.
- Soporte para vista previa de rotación de imágenes en rar/zip
2 de enero de 2018
- Se solucionó un problema de galimatías al obtener una vista previa de un documento de texto causado por el problema de codificación del archivo.
- Se solucionó el problema de que no se podían encontrar algunas dependencias de módulos.
- Agregue un perfil de arranque de primavera y soporte para configuración multientorno
- Agregue
pdf.js
para obtener una vista previa de documentos como doc, etc., soporte para generar titulares de documentos como menú pdf, soporte para vista previa móvil
Patrocinarnos
Si este proyecto ha sido útil para usted, agradecemos su patrocinio. Su apoyo es nuestra mayor motivación.!