kkFileView
Introdução
Documente a solução de projeto de visualização on-line, criada usando a popular estrutura Spring Boot para fácil configuração e implantação. Este versátil projeto de código aberto fornece suporte básico para uma ampla variedade de formatos de documentos, incluindo:
- Suporta documentos do Office como
doc
, docx
, xls
, xlsx
, xlsm
, ppt
, pptx
, csv
, tsv
,, dotm
, xlt
, xltm
, dot
, xlam
, dotx
, xla,
pages
etc. - Suporta documentos domésticos do WPS Office, como
wps
, dps
, et
, ett
, wpt
. - Suporta documentos de escritório OpenOffice, LibreOffice, como
odt
, ods
, ots
, odp
, otp
, six
, ott
, fodt
e fods
. - Suporta arquivos de fluxograma do Visio, como
vsd
, vsdx
. - Suporta arquivos de imagem do sistema Windows, como
wmf
, emf
. - Suporta arquivos de modelo de software Photoshop, como
psd
, eps
. - Suporta formatos de documentos como
pdf
, ofd
e rtf
. - Suporta arquivos de modelo de software como
xmind
. - Suporte para arquivos de fluxo de trabalho
bpmn
. - Suporte para arquivos de e-mail
eml
- Suporte para documentos de livros
epub
- Suporta arquivos de modelo 3D como
obj
, 3ds
, stl
, ply
, gltf
, glb
, off
, 3dm
, fbx
, dae
, wrl
, 3mf
, ifc
, brep
, step
, iges
, fcstd
, bim
, etc. - Suporta arquivos de modelo CAD como
dwg
, dxf
, dwf
iges
, igs
, dwt
, dng
, ifc
, dwfx
, stl
, cf2
, plt
, etc. - Suporta todos os arquivos de texto simples, como
txt
, xml
(renderização), md
(renderização), java
, php
, py
, js
, css
, etc. - Suporta pacotes compactados como
zip
, rar
, jar
, tar
, gzip
, 7z
, etc. - Suporta visualização de imagens (flip, zoom, mirror) de
jpg
, jpeg
, png
, gif
, bmp
, ico
, jfif
, webp
, etc. - Suporta arquivos de modelo de informações de imagem, como
tif
e tiff
. - Suporta arquivos de formato de imagem como
tga
. - Suporta arquivos de formato de imagem vetorial, como
svg
. - Suporta
mp3
, wav
, mp4
, flv
. - Suporta muitos arquivos de formato de áudio e vídeo, como
avi
, mov
, wmv
, mkv
, 3gp
e rm
. - Suporta
dcm
. - Suportes para
drawio
.
Características
- Construa com a popular bota de mola
- Fácil de construir e implantar
- Suporta basicamente a visualização on-line dos principais documentos do Office, como Doc, docx, Excel, PDF, TXT, zip, rar, imagens, etc.
- API REST
- Interface abstrata de visualização de arquivos para que seja fácil estender mais extensões de arquivo e desenvolver este projeto por conta própria
Site oficial e DOCS
URL: https://kkview.cn
Demonstração ao vivo
Por favor, trate o serviço público com gentileza, ou isso irá parar a qualquer momento.
URL: https://file.kkview.cn
Contate-nos
Responderemos às suas perguntas com atenção e resolveremos quaisquer problemas que você encontrar durante a utilização do projeto. Pedimos também que você pesquise pelo menos no Google ou no Baidu antes de fazer perguntas, a fim de economizar tempo e evitar comunicação ineficaz. Vamos valorizar nossas vidas e ficar longe da comunicação ineficaz.
Início rápido
Pilha de tecnologia
- Spring boot: Guia de referência de desenvolvimento de spring boot
- Marcador Livre
- Redisson
- Conversor Jod
Dependências
- Redis (opcional, desnecessário por padrão)
- OpenOffice ou LibreOffice(Integrado no Windows, será instalado automaticamente no Linux, precisa ser instalado manualmente no Mac OS)
Primeiro passo: git pull https://github.com/kekingcn/kkFileView.git
segunda etapa: execute o método principal de /server/src/main/java/cn/keking/ServerMain.java
. Após iniciar, visite http://localhost:8012/
.
Registro de alterações
14 de dezembro de 2022, versão 4.1.0 lançada:
- Design da página inicial atualizado por @wsd7747.
- Compatível com tif de várias páginas para conversão de pdf e jpg e visualização on-line de várias páginas para visualização de imagens tif por @zhangzhen1979.
- Construção do docker otimizada, usando o método de construção em camadas de @yl-yue.
- Criptografia de arquivo implementada com base no cache userToken por @yl-yue.
- Visualização implementada para arquivos criptografados do Word, PPT e Excel por @yl-yue.
- Imagens Linux e Docker atualizadas para o LibreOffice 7.3.
- Componente de visualização OFD atualizado, componente de visualização tif e suporte adicionado para marca d'água PPT.
- Numerosas outras atualizações, otimizações e correções de bugs. Agradecemos a @yl-yue, @wsd7747, @zhangzhen1979, @tomhusky, @shenghuadun e @kischn.sun por suas contribuições de código.
6 de julho de 2021, versão 4.0.0 lançada:
- A integração do OpenOffice no sistema subjacente foi substituída pelo LibreOffice, resultando em maior compatibilidade e melhores efeitos de visualização para arquivos do Office.
- Corrigida a vulnerabilidade de passagem de diretório em arquivos compactados.
- Corrigido o problema em que a visualização de arquivos PPT no modo PDF era ineficaz.
- Corrigido o problema em que a exibição frontal do modo de visualização de imagem para arquivos PPT era anormal.
- Adicionado um novo recurso: a função de upload de arquivos na página inicial pode ser habilitada ou desabilitada em tempo real através da configuração.
- Otimizou o registro de encerramento de processos do Office.
- Otimizou a lógica para encontrar componentes do Office no ambiente Windows, com o LibreOffice integrado tendo prioridade.
- Otimizou a execução síncrona de inicialização de processos do Office.
17 de junho de 2021, versão 3.6.0 lançada:
Esta versão inclui suporte para versões do tipo de arquivo OFD e todos os recursos importantes desta versão foram contribuídos pela comunidade. Agradecemos a @gaoxingzaq e @zhangxiaoxiao9527 por suas contribuições de código.
- Adicionado suporte para visualização de arquivos do tipo OFD. OFD é um formato de arquivo produzido internamente semelhante ao PDF.
- Adicionado suporte para transcodificação e visualização de arquivos de vídeo por meio do ffmpeg. Com a transcodificação habilitada, teoricamente, todos os formatos de arquivo de vídeo convencionais, como RM, RMVB, FLV, etc., são suportados para visualização.
- Embelezado o efeito de visualização dos tipos de arquivo PPT e PPTX, muito mais bonito do que a versão anterior.
- Atualizadas as versões de dependências como pdfbox, xstream, common-io.
28 de janeiro de 2021:
A atualização final do Ano Novo Lunar 2020 foi lançada, incluindo principalmente algumas melhorias na interface do usuário, correções de bugs relatados por usuários e problemas do grupo QQ e, o mais importante, é uma nova versão para um bom ano.
- Introduziu galimatias para resolver o problema de download anormal de arquivos causado por nomes de arquivos fora do padrão.
- Estilo de UI atualizado da interface de demonstração de acesso ao índice.
- Estilo de UI atualizado para visualização do arquivo markdown.
- Estilo de UI atualizado de visualização de arquivo XML, ajustou a arquitetura de visualização de arquivo de texto para facilitar a expansão.
- Estilo de UI atualizado para visualização do arquivo simTxT.
- Ajustou a interface de visualização contínua de múltiplas imagens para virar para cima e para baixo.
- Simplificou todas as operações de E/S de download de arquivos adotando o pacote apache-common-io.
- A visualização do arquivo XML suporta a mudança para o modo de texto puro.
- Informações de prompt aprimoradas quando a decodificação de URL base64 falha.
- Corrigidos erros de importação e bug de visualização de imagem.
- Corrigido o problema de falta do diretório de log ao executar o pacote de lançamento.
- Corrigido o bug de visualização contínua de múltiplas imagens no pacote compactado.
- Corrigido o problema de não haver correspondência universal para sufixos de tipo de arquivo em letras maiúsculas e minúsculas.
- Especificou o uso da implementação do código Apache Commons para codificação Base64 para corrigir exceções que ocorrem em algumas versões do JDK.
- Corrigido o bug de visualização de arquivos HTML de arquivos semelhantes a texto.
- Corrigido o problema de incapacidade de alternar entre jpg e pdf ao visualizar arquivos dwg.
- Caracteres perigosos escapados para evitar xss refletido.
- Corrigido o problema de codificação duplicada que causava falha na visualização do documento para imagem e padronizou a codificação.
27 de dezembro de 2020:
A grande atualização de final de ano de 2020 inclui design de arquitetura abrangente, refatoração completa de código, melhoria significativa na qualidade do código e desenvolvimento secundário mais conveniente. Convidamos você a revisar o código-fonte e contribuir para a construção levantando problemas e solicitando pull.
- Módulos de arquitetura ajustados, código extensivamente refatorado e qualidade de código aprimorada em vários níveis. Fique à vontade para revisar.
- Efeito aprimorado de visualização de arquivo XML e visualização adicional da estrutura do documento XML.
- Adicionado suporte para visualização de arquivo markdown, incluindo suporte para renderização md e alternância entre texto de origem e visualização.
- Mudou o servidor web subjacente para jetty, resolvendo o problema: #168
- Introduzido o cpdetector para resolver o problema de reconhecimento de codificação de arquivos.
- Adotou codificação dupla com base64 e urlencode para URLs para resolver completamente problemas de visualização com nomes de arquivos bizarros.
- Adicionado item de configuração office.preview.switch.disabled para controlar a troca de visualização de arquivos do Office.
- Lógica otimizada de visualização de arquivos de texto, transmitindo conteúdo através de Base64 para evitar solicitar novamente o conteúdo do arquivo durante a visualização.
- Desativou o efeito de zoom da imagem no modo de visualização do Office para obter uma experiência consistente com visualização de imagens e PDF.
- Defina diretamente o pdfbox para ser compatível com a versão inferior do JDK e não haverá avisos mesmo quando executado no IDEA.
- Removidos kits de ferramentas não essenciais, como Guava e Hutool, para reduzir o volume de código.
- O carregamento assíncrono de componentes do Office acelera a inicialização do aplicativo em até 5 segundos.
- Configurações razoáveis do número de threads na fila de consumo de visualização.
- Corrigido o bug em que os arquivos em pacotes compactados falhavam na visualização novamente.
- Corrigido o bug na visualização da imagem.
20 de maio de 2020:
- Suporte para marca d'água global e mudança dinâmica do conteúdo da marca d'água por meio de parâmetros
- Suporte para visualização de arquivos CAD
- Adicione o item de configuração base.url, suporte ao proxy reverso nginx e defina o caminho do contexto
- Todos os itens de configuração podem ser lidos a partir de variáveis de ambiente, o que é conveniente para implantação de imagem do Docker e uso em larga escala em cluster
- Apoie a configuração do TrustHost (somente a fonte do arquivo do site confiável pode ser visualizada) e proteja o serviço de visualização contra abusos
- Configuração de suporte para personalizar o tempo de limpeza do cache (expressão cron)
- Todo o texto simples reconhecível pode ser visualizado diretamente sem download, como .md .java .py, etc.
- Configuração de suporte para limitar o download de arquivos PDF após a conversão
- Otimize a configuração do pacote Maven para resolver o problema de quebra de linha no script .sh
- Coloque todas as dependências do CDN no front-end localmente para usuários sem conexão de rede externa
- O serviço de comentários na página inicial mudou de Sohu ChangYan para gitalk
- Corrigidas exceções de visualização que podem ser causadas por caracteres especiais no URL
- Corrigida a exceção addtask da fila de arquivos de transformação
- Corrigido outros problemas conhecidos
- Construção do site oficial: https://kkview.cn
- Construção oficial do repositório de imagens do Docker: https://hub.docker.com/r/keking/kkfileview
18 de junho de 2019:
- Suporta limpeza automática de cache e visualização de arquivos
- Suporte para visualização de arquivo de url de fluxo http/https
- Suporte para visualização de arquivo de url de FTP
- Adicionar versão do Docker
8 de abril de 2019
- Implementações de cache e fila abstratas, fornecendo implementações JDK e REDIS (REDIS se torna dependências opcionais)
- Fornece pacotes zip e tar.gz e fornece um script de inicialização com um clique
17 de janeiro de 2018
- Refinamento do diretório do projeto, interface abstrata de visualização de arquivos, fácil de estender mais extensões de arquivo e depositar este projeto por conta própria
- Adicionada contribuição de documentação em inglês (@幻幻Fate,@汝辉)
- Suporte para mais extensões de arquivo de imagem
- Corrigido o problema de que o carrossel de imagens no arquivo zip sempre iniciava do primeiro
12 de janeiro de 2018
- Suporte para visualização de múltiplas imagens
- Suporte para visualização de rotação de imagens em rar/zip
2 de janeiro de 2018
- Corrigido problema de jargão ao visualizar um documento txt causado pelo problema de codificação do arquivo
- Corrigido o problema de algumas dependências de módulo não serem encontradas
- Adicione um perfil de inicialização por mola e suporte para configuração de vários ambientes
- Adicione
pdf.js
para visualizar documentos como doc, etc., suporte para geração de títulos de documentos como menu PDF, suporte para visualização móvel
Patrocine-nos
Se este projeto foi útil para você, agradecemos seu patrocínio. Seu apoio é nossa maior motivação.!