論是個人或企業,甚至是政府部門,能夠在瀏覽器中直接打開瀏覽Office等格式文檔,也是一個普遍的需求和應用場景。對于企業來說,在線文件文檔預覽在OA辦公系統、在線學習系統及招聘網站等廣泛的應用。對于我來說,曾經先后用過微軟的office web apps和office online server及永中office,這些商業產品各有優缺點,選擇使用哪一款產品需要根據具體的業務需求和場景去選型一個最合適的。本文介紹一款國產開源免費的在線文件文檔預覽的kkFileView,對標國內?付費產品有永中office、office365、idocv等,總體來說開源產品會比商業產品功能要弱一些,但最大的優勢開源免費,可以滿足絕大多數的應用場景。
那什么是kkFileView呢?kkFileView為文件文檔在線預覽解決方案,該項目使用流行的spring boot搭建,易上手和部署,基本支持主流辦公文檔的在線預覽,如doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar、圖片、視頻、音頻等。目前kkFileView在世界上最大的代碼托管平臺github的star為6.4k,說明還是很熱門流行的。
kkFileView的特性如下:
1.支持word excel ppt,pdf等辦公文檔
2.支持txt,java,php,py,md,js,css等所有純文本
3.支持zip,rar,jar,tar,gzip等壓縮包
4.支持jpg,jpeg,png,gif等圖片預覽(翻轉,縮放,鏡像)
5.支持mp3,mp4,flv等多媒體文件預覽
6.使用spring boot開發,預覽服務搭建部署非常簡便
7.rest接口提供服務,跨平臺特性(java,php,python,go,php,....)都支持,應用接入簡單 方便
8.支持普通http/https文件下載url、http/https文件下載流url、ftp下載url等多種預覽源
9.提供zip,tar.gz發行包,提供一鍵啟動腳本和豐富的配置項,方便部署使用
10.提供Docker鏡像發行包,方便在容器環境部署
11.抽象預覽服務接口,方便二次開發,非常方便添加其他類型文件預覽支持
12.最最重要Apache協議開源,代碼pull下來想干嘛就干嘛
kkFileView于2008年1月2日發布了首個V0.0.2發行版本,并于2021年7月6日發布了V4.0.0版本。對于Office文件文檔的在線預覽,kkFileView的底層是基于開源openoffice或libreoffice上構建的。先給大家簡單介紹一下kkFileView V4.0.0的主要功能改進,基于LibreOffice7.1底層,兼容性更強,預覽效果更好,具體如下:
1.底層集成OpenOffice替換為LibreOffice,Office文件兼容性增強,預覽效果提升
2.修復壓縮文件目錄的穿越漏洞
3.修復PPT預覽使用PDF模式無效
4.修復PPT圖片預覽模式前端顯示異常
5.新增功能:首頁文件上傳功能可通過配置實時開啟或禁用
6.優化增加Office進程關閉日志
7.優化Windows環境下,查找Office組件邏輯(內置的LibreOffice優先)
8.優化啟動Office進程改同步執行
kkFileView官網地址:https://kkfileview.keking.cn/zh-cn/index.html,如下圖:
kkFileView官網
kkFileView在線預覽測試地址:https://file.keking.cn/index,如下圖:
kkFileView在線演示
kkFileView安裝包下載地址:https://github.com/kekingcn/kkFileView/releases,需要特別注意的一點需要事先安裝JDK 1.8,否則無法運行,如下圖:
kkFileView安裝包下載地址
下面詳細來介紹一下以我本機電腦windows 7安裝kkFileView V4.0.0為例,下載并解壓kkFileView-4.0.0.zip,如下圖:
下載kkFileView-4.0.0.zip
解壓kkFileView-4.0.0.zip
雙擊這個文件運行或者通過CMD命令窗口運行
以管理員身份運行CMD命令窗口,并輸入startup.bat運行
啟動運行成功后,可以進行本地測試在線文件預覽:http://127.0.0.1:8012/index,如下圖:
本地測試在線文件預覽
下面分別測試了word、excel、powerpoint等三類格式office文檔,對于office文檔需要轉換成JPG圖片或PDF文件,用戶實際在線預覽并非原始文件,而是轉換后的JPG圖片或PDF文件,簡單做了一下測試對于容量較大的Word文檔(50M左右)轉換JPG失敗,同時對于PPT或PPTX文檔無法打開轉換后PDF,其他都正常。不過目前官方也在不斷更新發行版,對于目前的一些BUG也進行修復,對于最新4.1.X發行版本,我還沒測試驗證,V4.0.0版本具體體效果如下:
上傳一個Word文件
上傳完,點擊預覽即可
默認以JPG圖片預覽,可以點擊PDF切換PDF預覽
以PDF方式預覽
PDF方式可以選擇文字對象
上傳一個EXCEL文件
上傳完,點擊預覽即可
以HTML方式預覽
切換頁簽
上傳一個PowerPoint文件
上傳完,點擊預覽即可
默認以JPG圖片預覽,可以點擊PPT切換失敗
切換PPT預覽失敗
轉換后的文件清單
轉換后JPG圖片
轉換后的PDF
這樣就可以使用kkFileView了,是一款可替代的商業收費?在線文件文檔預覽的開源免費套件。
如果您喜歡這篇文章,請關注我,收藏、點贊、評論和轉發,會讓更多需要幫助的人看到這篇文章。舉手之勞,善莫大焉!
文經過少數派授權轉載
很對人對于軟件都有一種「收藏」的習慣,覺得這可能是一個工具就把它購買或下載放在那里,新鮮了兩天就擱置在那兒,終究成了櫥柜上的一個布滿灰塵的擺設。其實很多時候我們可以換個思路,如果這個工具是在網頁上,用的時候再打開,不用的時候就關閉,既不占用你電腦空間,也不受限于設備的系統,或許還能幫你省下不少的錢,今天少數派就為大家介紹一些實用而且有趣的網頁工具。
少數派之前也介紹過不少實用的網站,長按二維碼關注少數派(ID:sspaime),在后臺回復「Windows」GET 到更多。
▍檢測網速:Internet Speed Test
一個良好的網速大概會有 80% 的概率提高我們的生產力和執行力,糟糕的網速大概會有 99% 的概率影響我們的情緒。所以經常會有一些朋友頻繁的測量網速,有的選擇下載一款軟件進行測量,有的隨便找一個網站就將就了。而 FAST 和 SPEEDTEST 是兩家「優雅」的測速站點,只點擊一下 ? 按鈕再稍等片刻,你的網速測試結果就會呈現在你的面前,無污染、零廣告、完全免費。
關注少數派,在后臺回復「9」即可獲得鏈接。
介
背景
由于項目需要,需要使用攝像頭預覽功能,設備型號為海康威視。目前已存在的基于 FFmpeg 的方案延遲都太高,所以項目最終選擇基于此方案。
方案
方案選用為基于 WebRTC 的視頻即時通訊,它原生支持對 RTP 協議的解碼,所以能夠做到延遲很低,大概0.2-0.4秒左右,其他方案都有大于1秒的延遲。
WebRTC對瀏覽器有要求,可以在下面的地址中查看支持的瀏覽器。
https://caniuse.com/rtcpeerconnection
?
以下介紹內容來自百度百科
WebRTC,名稱源自網頁即時通信(英語:Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的API。它于2011年6月1日開源并在Google、Mozilla、Opera支持下被納入萬維網聯盟的W3C推薦標準。
WebRTC實現了基于網頁的視頻會議,標準是WHATWG 協議,目的是通過瀏覽器提供簡單的javascript就可以達到實時通訊(Real-Time Communications (RTC))能力。
WebRTC 的實現方案在 Github 有非常多,經過一序列對比和測試,最終選擇的是使用 webrtc-streamer 這個項目,其容易使用并且較為穩定。
webrtc-streamer 不僅支持對 RTSP 流的捕獲而且還支持對V4L2以及屏幕窗口快照的捕獲。
webrtc-streamer 內置了一個小型的 HTTP server 來對 webrtc 需要的相關接口提供支持。
下面具體開始如何設置:
由于 webrtc 的核心庫還不支持 h265, 所以需要設置為 h264 編碼。
登錄到海康威視攝像頭的后臺配置中心,在 “視音頻” 菜單下進行設置,然后保存。
?
在github 發布頁面根據需要的平臺選擇相應的包下載
https://github.com/mpromonet/webrtc-streamer/releases
下載完成后可以使用以下命令進行測試:
./webrtc-streamer rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
打開 localhost:8000 已訪問頁面
相關學習資料推薦,點擊下方鏈接免費報名,先碼住不迷路~】
音視頻免費學習地址:FFmpeg/WebRTC/RTMP/NDK/Android音視頻流媒體高級開發
【免費分享】音視頻學習資料包、大廠面試題、技術視頻和學習路線圖,資料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以點擊788280672加群免費領取~
如果沒有問題,就可以使用本地的設備進行測試了,海康威視視頻流默認地址為:
rtsp://賬號:密碼@IP地址:554/Streaming/Channels/101
替換相應的信息以進行測試。
如果是在 windows 下,webrtc-streamer 也會抓取到窗口和屏幕的快照頁面,可以使用 -q 參數進行過濾,其支持正則表達式。這個參數沒有在 help 列表里面列出來是我查看源碼發現的。
./webrtc-streamer rtsp://賬號:密碼@IP地址:554/Streaming/Channels/101 -q (?=rtsp).*
你可以在下載的發布包中的html文件夾中找到 index.html 來查看示例代碼,下面列出來核心代碼:
<html>
<head>
<script src="libs/adapter.min.js" ></script>
<script src="webrtcstreamer.js" ></script>
<script>
var webRtcServer = null;
window.onload = function() {
webRtcServer = new WebRtcStreamer("video",location.protocol+"//"+window.location.hostname+":8000");
webRtcServer.connect("rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov");
}
window.onbeforeunload = function() { webRtcServer.disconnect(); }
</script>
</head>
<body>
<video id="video" />
</body>
</html>
使用 WebComponent 集成
<html>
<head>
<script type="module" src="webrtc-streamer-element.js"></script>
</head>
<body>
<webrtc-streamer url="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"></webrtc-streamer>
</body>
</html>
主要還是對 webrtc 的熟悉,你可以在 https://webrtc.org/getting-started/overview 找到相關指南。
比如什么是 TURN server,什么是peer connections 都可以在上面的指南中找到。
原文 基于 WebRTC 的 RTSP 視頻實時預覽 - 簡書
?
*請認真填寫需求信息,我們會在24小時內與您取得聯系。