kkファイルビュー
導入
簡単なセットアップとデプロイのために人気の Spring Boot フレームワークを使用して構築された、オンライン プレビュー プロジェクト ソリューションを文書化します。この多用途のオープンソース プロジェクトは、次のような幅広いドキュメント形式の基本サポートを提供します。
-
doc
、 docx
、 xls
、 xlsx
、 xlsm
、 ppt
、 pptx
、 csv
、 tsv
、 、 dotm
、 xlt
、 xltm
、 dot
、 xlam
、 dotx
、 xla,
、 pages
などの Office ドキュメントをサポートします。 -
wps
、 dps
、 et
、 ett
、 wpt
などの国内 WPS Office ドキュメントをサポートします。 -
odt
、 ods
、 ots
、 odp
、 otp
、 six
、 ott
、 fodt
、 fods
などの OpenOffice、LibreOffice オフィス ドキュメントをサポートします。 -
vsd
、 vsdx
などの Visio フローチャート ファイルをサポートします。 -
wmf
、 emf
などの Windows システム イメージ ファイルをサポートします。 -
psd
、 eps
などの Photoshop ソフトウェア モデル ファイルをサポートします。 -
pdf
、 ofd
、 rtf
などのドキュメント形式をサポートします。 -
xmind
などのソフトウェア モデル ファイルをサポートします。 -
bpmn
ワークフロー ファイルのサポート。 -
eml
メールファイルのサポート epub
ブックドキュメントのサポートobj
、 3ds
、 stl
、 ply
、 gltf
、 glb
、 off
、 3dm
、 fbx
、 dae
、 wrl
、 3mf
、 ifc
、 brep
、 step
、 iges
、 fcstd
、 bim
などの 3D モデル ファイルをサポートします。-
dwg
、 dxf
、 dwf
、 igs
、 dwt
、 dng
iges
ifc
、 dwfx
、 stl
、 cf2
、 plt
などの CAD モデル ファイルをサポートします。 -
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、写真などの主流のオフィスドキュメントのオンラインプレビューをサポートします
- REST API
- 抽象的なファイル プレビュー インターフェイスにより、より多くのファイル拡張子を拡張して、このプロジェクトを独自に開発することが簡単になります。
公式ウェブサイトとドキュメント
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
2 番目のステップ: /server/src/main/java/cn/keking/ServerMain.java
の main メソッドを実行します。起動後、 http://localhost:8012/
にアクセスします。
変更履歴
2022 年 12 月 14 日、バージョン 4.1.0 がリリースされました。
- @wsd7747 によるホームページのデザインを更新しました。
- pdf および jpg 変換用の複数ページ tif と、@zhangzhen1979 による tif 画像プレビュー用の複数ページのオンライン プレビューと互換性があります。
- @yl-yue による階層化ビルド方法を使用して、最適化された Docker ビルド。
- @yl-yue による userToken キャッシュに基づくファイル暗号化を実装しました。
- @yl-yue により、暗号化された Word、PPT、および Excel ファイルのプレビューが実装されました。
- Linux および Docker イメージを LibreOffice 7.3 にアップグレードしました。
- OFD プレビュー コンポーネント、tif プレビュー コンポーネントが更新され、PPT 透かしのサポートが追加されました。
- その他多数のアップグレード、最適化、バグ修正。コードに貢献してくれた @yl-yue、@wsd7747、@zhangzhen1979、@tomhusky、@shenghuadun、および @kischn.sun に感謝します。
2021 年 7 月 6 日、バージョン 4.0.0 がリリースされました。
- 基盤となるシステムでの OpenOffice の統合は LibreOffice に置き換えられ、互換性が強化され、Office ファイルのプレビュー効果が向上しました。
- 圧縮ファイルのディレクトリトラバーサルの脆弱性を修正しました。
- PDF モードでの PPT ファイルのプレビューが無効になる問題を修正しました。
- PPTファイルの画像プレビューモードのフロントエンド表示が異常となる問題を修正しました。
- 新しい機能を追加しました。ホームページ上のファイルアップロード機能は、設定を通じてリアルタイムで有効または無効にできます。
- Office プロセスのシャットダウンのログを最適化しました。
- Windows 環境で Office コンポーネントを検索するためのロジックが最適化され、組み込みの LibreOffice が優先されます。
- Office プロセスの起動の同期実行を最適化しました。
2021 年 6 月 17 日、バージョン 3.6.0 がリリースされました。
このバージョンには、OFD ファイル タイプ バージョンのサポートが含まれており、このリリースのすべての重要な機能はコミュニティによって提供されました。コードの貢献に対して @gaoxingzaq と @zhangxiaoxiao9527 に感謝します。
- OFD タイプのファイルのプレビューのサポートが追加されました。 OFDはPDFと同様の国産のファイル形式です。
- ffmpeg を介したビデオ ファイルのトランスコーディングとプレビューのサポートが追加されました。トランスコーディングを有効にすると、理論的には、RM、RMVB、FLV などのすべての主流ビデオ ファイル形式がプレビューでサポートされます。
- PPT および PPTX ファイル タイプのプレビュー効果が美しくなり、以前のバージョンよりもはるかに見栄えが良くなりました。
- pdfbox、xstream、common-io などの依存関係のバージョンを更新しました。
2021 年 1 月 28 日:
2020 年の旧正月の最終アップデートがリリースされました。これには、主にいくつかの UI の改善、QQ グループのユーザーから報告されたバグ修正と問題が含まれています。そして最も重要なのは、良い年に向けた新しいバージョンであることです。
- 標準外のファイル名によって引き起こされる異常なファイルダウンロードの問題を解決するために、Galimatias が導入されました。
- インデックス アクセス デモンストレーション インターフェイスの UI スタイルを更新しました。
- マークダウン ファイル プレビューの UI スタイルを更新しました。
- XML ファイル プレビューの UI スタイルを更新し、拡張を容易にするためにテキスト ファイル プレビューのアーキテクチャを調整しました。
- simTxT ファイルプレビューの UI スタイルを更新しました。
- 複数画像の連続プレビューのUIを上下反転できるように調整しました。
- apache-common-io パッケージを採用することにより、すべてのファイル ダウンロード IO 操作が簡素化されました。
- XML ファイルのプレビューは、純粋なテキスト モードへの切り替えをサポートしています。
- URL Base64 デコードが失敗した場合のプロンプト情報が強化されました。
- インポートエラーと画像プレビューのバグを修正しました。
- リリースパッケージの実行時にログディレクトリが見つからない問題を修正しました。
- 圧縮パッケージ内の複数の画像の連続プレビューのバグを修正しました。
- ファイルタイプのサフィックスの大文字と小文字が一致しない問題を修正しました。
- 一部の JDK バージョンで発生する例外を修正するために、Base64 エンコード用の Apache Commons コード実装の使用を指定しました。
- テキスト形式ファイルのHTMLファイルプレビューのバグを修正しました。
- dwgファイルのプレビュー時にjpgとpdfを切り替えられない問題を修正しました。
- xss の反映を防ぐために危険な文字をエスケープしました。
- 重複したエンコードによりドキュメントから画像へのプレビューが失敗する問題を修正し、エンコードを標準化しました。
2020年12月27日:
2020 年末のメジャー アップデートには、包括的なアーキテクチャ設計、完全なコード リファクタリング、コード品質の大幅な向上、より便利な二次開発が含まれています。ソース コードをレビューし、問題やプル リクエストを提起してビルドに貢献していただけることを歓迎します。
- アーキテクチャ モジュールを調整し、コードを大幅にリファクタリングし、コードの品質を数レベル向上させました。ぜひご検討ください。
- XML ファイルのプレビュー効果が強化され、XML ドキュメント構造のプレビューが追加されました。
- md レンダリングおよびソース テキストとプレビュー間の切り替えのサポートを含む、マークダウン ファイル プレビューのサポートが追加されました。
- 基盤となる Web サーバーを Jetty に切り替え、問題を解決しました: #168
- ファイルエンコード認識の問題を解決するために cpdetector を導入しました。
- URL に Base64 と urlencode による二重エンコードを採用し、奇妙なファイル名によるプレビューの問題を完全に解決しました。
- Office ファイルのプレビューの切り替えを制御する構成項目 office.preview.switch.disabled を追加しました。
- テキスト ファイルのプレビュー ロジックが最適化され、Base64 経由でコンテンツを送信し、プレビュー中にファイル コンテンツが再度要求されることを回避します。
- 画像と PDF のプレビューで一貫したエクスペリエンスを実現するために、オフィス プレビュー モードでの画像ズーム効果を無効にしました。
- 以前のバージョンの JDK と互換性があるように pdfbox を直接設定すると、IDEA で実行した場合でも警告プロンプトは表示されません。
- コード量を減らすために、Guava や Hutool などの必須ではないツールキットを削除しました。
- Office コンポーネントの非同期読み込みにより、アプリケーションの起動が 5 秒以内に高速化されます。
- プレビュー消費キュー内のスレッド数の適切な設定。
- 圧縮パッケージ内のファイルが再度プレビューできないバグを修正しました。
- 画像プレビューの不具合を修正しました。
2020年5月20日:
- グローバル ウォーターマークのサポートとパラメータによるウォーターマーク コンテンツの動的な変更
- CAD ファイルのプレビューのサポート
- 構成項目base.urlを追加し、nginxリバースプロキシの使用をサポートし、コンテキストパスを設定します
- すべての設定項目は環境変数から読み込むことができるため、Docker イメージのデプロイやクラスターでの大規模な使用に便利です
- 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
2019年6月18日:
- キャッシュとプレビューファイルの自動クリーニングをサポート
- http/https ストリーム URL ファイルのプレビューをサポート
- FTP URLファイルのプレビューをサポート
- Dockerビルドを追加
2019年4月8日
- キャッシュおよびキュー実装の抽象化、JDK および REDIS 実装の提供 (REDIS はオプションの依存関係になります)
- zip および tar.gz パッケージを提供し、ワンクリック起動スクリプトを提供します
2018 年 1 月 17 日
- プロジェクト ディレクトリ、抽象ファイル プレビュー インターフェイスが洗練され、より多くのファイル拡張子を拡張し、このプロジェクトを独自にデポリゴン化するのが容易になりました。
- 英語ドキュメントを追加 (@幻幻Fate,@汝辉) の寄稿
- より多くの画像ファイル拡張子のサポート
- zip ファイル内の画像カルーセルが常に最初から開始される問題を修正しました
2018 年 1 月 12 日
- 複数の画像プレビューのサポート
- rar/zip での画像回転プレビューのサポート
2018 年 1 月 2 日
- ファイルのエンコードの問題によって引き起こされる、txt ドキュメントをプレビューするときの意味不明な問題を修正しました
- 一部のモジュールの依存関係が見つからない問題を修正
- スプリング ブート プロファイルを追加し、マルチ環境構成をサポートします。
- ドキュメントなどのドキュメントをプレビューするための
pdf.js
の追加、ドキュメントの見出しを PDF メニューとして生成するサポート、モバイル プレビューのサポート
スポンサーになってください
このプロジェクトがお役に立ちましたら、スポンサーシップを歓迎いたします。あなたのサポートが私たちの最大のモチベーションです。