kkFileView
Введение
Решение проекта онлайн-предварительного просмотра документов, созданное с использованием популярной платформы Spring Boot для простой установки и развертывания. Этот универсальный проект с открытым исходным кодом обеспечивает базовую поддержку широкого спектра форматов документов, включая:
- Поддерживает документы Office, такие как
doc
, docx
, xls
, xlsx
, xlsm
, ppt
, pptx
, csv
, tsv
, , dotm
, xlt
, xltm
, dot
, xlam
, dotx
, xla,
, pages
и т. д. - Поддерживает внутренние документы WPS Office, такие как
wps
, dps
, et
, ett
, wpt
. - Поддерживает офисные документы OpenOffice, LibreOffice, такие как
odt
, ods
, ots
, odp
, otp
, six
, ott
, fodt
и fods
. - Поддерживает файлы блок-схем Visio, такие как
vsd
, vsdx
. - Поддерживает файлы образов системы Windows, такие как
wmf
, emf
. - Поддерживает файлы моделей программного обеспечения Photoshop, такие как
psd
, eps
. - Поддерживает такие форматы документов, как
pdf
, ofd
и rtf
. - Поддерживает файлы моделей программного обеспечения, такие как
xmind
. - Поддержка файлов рабочего процесса
bpmn
. - Поддержка почтовых файлов
eml
- Поддержка книжных документов
epub
- Поддерживает файлы 3D-моделей, такие как
obj
, 3ds
, stl
, ply
, gltf
, glb
, off
, 3dm
, fbx
, dae
, wrl
, 3mf
, ifc
, brep
, step
, iges
, fcstd
, bim
и т. д. - Поддерживает файлы моделей САПР
iges
такие как dwg
, dxf
, dwf
, igs
, dwt
, dng
, ifc
, dwfx
, stl
, cf2
, plt
и т. д. - Поддерживает все текстовые файлы, такие как
txt
, xml
(рендеринг), md
(рендеринг), java
, php
, py
, js
, css
и т. д. - Поддерживает сжатые пакеты, такие как
zip
, rar
, jar
, tar
, gzip
, 7z
и т. д. - Поддерживает предварительный просмотр изображений (переворот, масштабирование, зеркало) форматов
jpg
, jpeg
, png
, gif
, bmp
, ico
, jfif
, webp
и т. д. - Поддерживает файлы информационных моделей изображений, такие как
tif
и tiff
. - Поддерживает файлы формата изображения, такие как
tga
. - Поддерживает файлы формата векторного изображения, такие как
svg
. - Поддерживает
mp3
, wav
, mp4
, flv
. - Поддерживает множество файлов аудио и видео форматов, таких как
avi
, mov
, wmv
, mkv
, 3gp
и rm
. - Поддерживает
dcm
. - Поддерживает
drawio
.
Функции
- Используйте популярный пружинный ботинок с рамкой.
- Простота сборки и развертывания
- В основном поддерживает онлайн-предварительный просмотр основных офисных документов, таких как Doc, docx, Excel, PDF, TXT, zip, rar, изображения и т. д.
- ОТДЫХ API
- Абстрактный интерфейс предварительного просмотра файлов, позволяющий легко расширить расширения файлов и разработать этот проект самостоятельно.
Официальный сайт и документы DOCS
URL: https://kkview.cn
Живая демонстрация
Пожалуйста, относитесь к государственной службе доброжелательно, иначе это прекратится в любой момент.
URL: https://file.kkview.cn
Связаться с нами
Мы внимательно ответим на ваши вопросы и решим любые проблемы, с которыми вы можете столкнуться при использовании проекта. Мы также просим вас хотя бы использовать Google или Baidu, прежде чем задавать вопросы, чтобы сэкономить время и избежать неэффективного общения. Давайте беречь свою жизнь и избегать неэффективного общения.
Быстрый старт
Стек технологий
- Spring boot: Справочное руководство по разработке Spring Boot
- Фримаркер
- Редиссон
- Джодконвертер
Зависимости
- Redis (необязательно, по умолчанию не требуется)
- OpenOffice или LibreOffice (интегрирован в Windows, устанавливается автоматически в Linux, в Mac OS необходимо установить вручную)
Первый шаг: git pull https://github.com/kekingcn/kkFileView.git
второй шаг: запустите основной метод /server/src/main/java/cn/keking/ServerMain.java
. После запуска посетите http://localhost:8012/
.
Журнал изменений
14 декабря 2022 г. выпущена версия 4.1.0:
- Обновлен дизайн домашней страницы от @wsd7747.
- Совместим с многостраничным TIF для преобразования PDF и JPG и многостраничным онлайн-просмотром для предварительного просмотра изображений TIF от @zhangzhen1979.
- Оптимизированная сборка докера с использованием метода многоуровневой сборки @yl-yue.
- Реализовано шифрование файлов на основе кеша userToken от @yl-yue.
- Реализован предварительный просмотр зашифрованных файлов Word, PPT и Excel от @yl-yue.
- Образы Linux и Docker обновлены до LibreOffice 7.3.
- Обновлен компонент предварительного просмотра OFD, компонент предварительного просмотра TIF и добавлена поддержка водяных знаков PPT.
- Множество других обновлений, оптимизаций и исправлений ошибок. Мы благодарим @yl-yue, @wsd7747, @zhangzhen1979, @tomhusky, @shenghuadun и @kischn.sun за их вклад в код.
6 июля 2021 г. выпущена версия 4.0.0:
- Интеграция OpenOffice в базовую систему была заменена LibreOffice, что привело к улучшенной совместимости и улучшенным эффектам предварительного просмотра для файлов Office.
- Исправлена уязвимость обхода каталогов в сжатых файлах.
- Исправлена проблема, из-за которой предварительный просмотр файлов PPT в режиме PDF был неэффективен.
- Исправлена проблема, из-за которой интерфейс режима предварительного просмотра изображений для файлов PPT работал ненормально.
- Добавлена новая функция: функцию загрузки файлов на главной странице можно включить или отключить в режиме реального времени посредством настройки.
- Оптимизировано протоколирование завершения процесса Office.
- Оптимизирована логика поиска компонентов Office в среде Windows, при этом встроенный LibreOffice имеет приоритет.
- Оптимизировано синхронное выполнение запуска процессов Office.
17 июня 2021 г. выпущена версия 3.6.0:
Эта версия включает поддержку версий файлов типа OFD, и все важные функции этой версии были предоставлены сообществом. Мы благодарим @gaoxingzaq и @zhangxiaoxiao9527 за их вклад в код.
- Добавлена поддержка предварительного просмотра файлов типа OFD. OFD — это отечественный формат файлов, аналогичный PDF.
- Добавлена поддержка перекодирования и предварительного просмотра видеофайлов через ffmpeg. При включенном перекодировании теоретически для предварительного просмотра поддерживаются все основные форматы видеофайлов, такие как RM, RMVB, FLV и т. д.
- Улучшен эффект предварительного просмотра файлов PPT и PPTX, который теперь выглядит намного лучше, чем в предыдущей версии.
- Обновлены версии таких зависимостей, как pdfbox, xstream, common-io.
28 января 2021 г.:
Выпущено последнее обновление к Лунному Новому 2020 году, в основном включающее некоторые улучшения пользовательского интерфейса, исправления ошибок, о которых сообщили пользователи группы QQ, и проблемы, и, самое главное, это новая версия для хорошего года.
- Введены галиматики для решения проблемы ненормальной загрузки файлов, вызванной нестандартными именами файлов.
- Обновлен стиль пользовательского интерфейса демонстрации доступа к индексу.
- Обновлен стиль пользовательского интерфейса предварительного просмотра файла уценки.
- Обновлен стиль пользовательского интерфейса предварительного просмотра файлов XML, скорректирована архитектура предварительного просмотра текстовых файлов для облегчения расширения.
- Обновлен стиль пользовательского интерфейса предварительного просмотра файла simTxT.
- Изменен пользовательский интерфейс непрерывного предварительного просмотра нескольких изображений для их переворачивания вверх и вниз.
- Упрощены все операции ввода-вывода при загрузке файлов за счет использования пакета apache-common-io.
- Предварительный просмотр XML-файла поддерживает переключение в текстовый режим.
- Улучшена подсказка при сбое декодирования URL-адреса в формате Base64.
- Исправлены ошибки импорта и ошибка предварительного просмотра изображения.
- Исправлена проблема отсутствия каталога журналов при запуске пакета выпуска.
- Исправлена ошибка непрерывного предварительного просмотра нескольких изображений в сжатом пакете.
- Исправлена проблема отсутствия универсального соответствия для суффиксов типов файлов в верхнем и нижнем регистре.
- Указано использование реализации кода Apache Commons для кодировки Base64 для исправления исключений, возникающих в некоторых версиях JDK.
- Исправлена ошибка предварительного просмотра HTML-файлов текстовых файлов.
- Исправлена проблема невозможности переключения между jpg и pdf при предварительном просмотре файлов dwg.
- Опасные символы экранированы, чтобы предотвратить отражение xss.
- Исправлена проблема дублирования кодирования, приводившая к сбою предварительного просмотра документа в изображении, и стандартизирована кодировка.
27 декабря 2020 г.:
Крупное обновление 2020 года, выходящее на конец года, включает комплексное проектирование архитектуры, полный рефакторинг кода, значительное улучшение качества кода и более удобную вторичную разработку. Мы приглашаем вас просмотреть исходный код и внести свой вклад в разработку, поднимая проблемы и отправляя запросы на включение.
- Модули скорректированной архитектуры, тщательно переработанный код и улучшенное качество кода на несколько уровней. Пожалуйста, не стесняйтесь просмотреть.
- Улучшен эффект предварительного просмотра XML-файла и добавлен предварительный просмотр структуры XML-документа.
- Добавлена поддержка предварительного просмотра файла уценки, включая поддержку md-рендеринга и переключения между исходным текстом и предварительным просмотром.
- Базовый веб-сервер переключен на Jetty, что решило проблему: #168.
- Введен cpdetector для решения проблемы распознавания кодировки файлов.
- Принято двойное кодирование с помощью base64 и urlencode для URL-адресов, чтобы полностью решить проблемы предварительного просмотра со странными именами файлов.
- Добавлен элемент конфигурации office.preview.switch.disabled для управления переключением предварительного просмотра офисных файлов.
- Оптимизирована логика предварительного просмотра текстового файла, передача содержимого через Base64, чтобы избежать повторного запроса содержимого файла во время предварительного просмотра.
- Отключен эффект масштабирования изображения в режиме предварительного просмотра Office, чтобы обеспечить единообразие работы с изображениями и предварительным просмотром PDF-файлов.
- Напрямую настройте pdfbox на совместимость с более ранней версией JDK, и при запуске в IDEA не будет никаких предупреждающих сообщений.
- Удалены несущественные наборы инструментов, такие как Guava и Hutool, чтобы уменьшить объем кода.
- Асинхронная загрузка компонентов Office ускоряет запуск приложений до 5 секунд.
- Разумные настройки количества потоков в очереди потребления предварительного просмотра.
- Исправлена ошибка, из-за которой файлы в сжатых пакетах не удалось повторно просмотреть.
- Исправлена ошибка при предварительном просмотре изображения.
20 мая 2020 г.:
- Поддержка глобального водяного знака и динамическое изменение содержимого водяного знака с помощью параметров.
- Поддержка предварительного просмотра файлов САПР
- Добавьте элемент конфигурации base.url, поддержите использование обратного прокси-сервера nginx и установите контекстный путь.
- Все элементы конфигурации можно прочитать из переменных среды, что удобно для развертывания образа докера и крупномасштабного использования в кластере.
- Поддержка конфигурации TrustHost (можно просмотреть только источник файла с доверенного сайта) и защита службы предварительного просмотра от злоупотреблений.
- Поддержка настройки времени очистки кэша (выражение cron)
- Весь распознаваемый простой текст можно просмотреть непосредственно без загрузки, например .md .java .py и т. д.
- Поддержка конфигурации для ограничения загрузки PDF-файла после преобразования
- Оптимизируйте конфигурацию упаковки Maven, чтобы решить проблему разрыва строки в скрипте .sh.
- Разместите все зависимости CDN на внешнем интерфейсе локально для пользователей без подключения к внешней сети.
- Служба комментариев на главной странице переключена с Sohu ChangYan на gitalk
- Исправлены исключения предварительного просмотра, которые могли быть вызваны специальными символами в URL-адресе.
- Исправлено исключение addtask в очереди файлов преобразования.
- Исправлены другие известные проблемы
- Официальная версия сайта: https://kkview.cn.
- Официальная сборка репозитория образов Docker: https://hub.docker.com/r/keking/kkfileview.
18 июня 2019 г.:
- Поддержка автоматической очистки кэша и файлов предварительного просмотра.
- Поддержка предварительного просмотра URL-адреса потока http/https.
- Поддержка предварительного просмотра URL-адреса FTP-файла
- Добавить сборку Docker
8 апреля 2019 г.
- Реализации кэша и очереди абстрактны, предоставляя реализации JDK и REDIS (REDIS становится необязательной зависимостью)
- Предоставляет пакеты zip и tar.gz, а также сценарий запуска одним щелчком мыши.
17 января 2018 г.
- Усовершенствован каталог проекта, абстрактный интерфейс предварительного просмотра файлов. Легко расширить дополнительные расширения файлов и самостоятельно деполировать этот проект.
- Добавлена документация на английском языке (@幻幻Fate,@汝辉).
- Поддержка большего количества расширений файлов изображений.
- Исправлена проблема, из-за которой карусель изображений в zip-файле всегда начиналась с первого.
12 января 2018 г.
- Поддержка предварительного просмотра нескольких изображений
- Поддержка предварительного просмотра поворота изображений в rar/zip.
2 января 2018 г.
- Исправлена проблема с тарабарщиной при предварительном просмотре текстового документа, вызванная проблемой кодировки файла.
- Исправлена проблема, из-за которой некоторые зависимости модуля не могли быть найдены.
- Добавьте профиль весенней загрузки и поддержку конфигурации в нескольких средах.
- Добавьте
pdf.js
для предварительного просмотра документов, таких как документы и т. д., поддержка создания заголовков документов в виде меню PDF, поддержка предварительного просмотра на мобильных устройствах.
Спонсорьте нас
Если этот проект оказался для вас полезным, мы будем рады вашей поддержке. Ваша поддержка — наша самая большая мотивация.!