Java 實現文檔在線預覽功能

一、說明

因系統需要,要在系統中做一個文檔預覽的功能,網上有挺多第三方的工具,但是都是收費的,有 什麼永中啊,OFFICE 365 XDOC啊,這些大概一搜都能搜到,價格也不是很貴。

但是,能不付費就儘量不付費不是?把錢省下來外面搓一頓不是更香嗎?好了廢話不多說,直接上代碼。

溫馨提示:這個東西坑特別多,爲了避免大家重複踩坑,博主在這裏記錄一篇詳細的教程。

二、測試

Gitee上面找了一個開源項目:https://gitee.com/kekingcn/file-online-preview.git 

 

不管怎麼樣,先下載下來試一試再說吧,公司網絡比較差,總的下載下來大概花了10幾分鐘,文件總大小504M。

下載完了之後直接打開開發神器 IDEA 導入項目,這個過程有點久。

源碼加載完成,找到啓動類。雙擊打開,右鍵啓動即可。

看到以下輸出,說明完美啓動了,沒有報錯。

這個時候,打開瀏覽器試一下,打開瀏覽器輸入: http://localhost:8012

  看到這個頁面,說明沒有問題,那麼開始測試了。先上傳一個word測試以下。

感覺看到了希望,好像還挺好用,下面介紹一下怎麼部署到Linux服務器上面去。下面的內容很關鍵,可以避免踩很多坑。

三、Linux部署項目

1、安裝 openoffice ,官網下載比較慢,博主把下載好的安裝包放到了百度網盤,Windows和Linux的都有,大家可以使用下面的連接下載。

鏈接:https://pan.baidu.com/s/10hhta6xd5KLpkR3w2u9krQ 
提取碼:op9d

2、Windows安裝很簡單,一路下一步即可,Linux安裝教程參考另一篇博客:https://blog.csdn.net/Wjhsmart/article/details/105505164

3、連接到服務器,創建好一個目錄,博主創建的是 /data/zywork-file-view,如下圖。

4、打開項目,找到main目錄下面。把bin,config,file,log這4個目錄上傳到服務器上面。

5、授權,執行下面命令給新建的目錄及以下的文件授權,不做這一步,後面操作會提示無權限。

chmod -R 777 /data/zywork-file-view

6、進入bin目錄下面。bin目錄下面的文件可只保留3個批處理文件。

7、執行下面的命令,修改批處理文件。如果不執行這個操作,會提示:壞的解釋器。這個是因爲在Linux中有時候我們將在Windows下編寫的腳本拷貝到Linux環境中運行時會出現運行不了的情況。

// 修改啓動處理文件
vim startup.sh
:set ff=unix
:wq
// 修改日誌查看處理文件
vim showlog.sh
:set ff=unix
:wq
// 修改管理處理文件
vim shutdown.sh
:set ff=unix
:wq

8、打包jar,打開 idea 打包好jar。打包好了之後把jar上傳至服務器。

也可以執行下面的命令打包:

cd file-online-preview
mvn clean package -DskipTests -Prelease

打包好了之後會在target目錄下面生成一個jar:

將這個jar上傳到服務器中的bin目錄下面

9、啓動項目。執行下面的命令啓動這個項目。

// 進入bin目錄
cd /data/zywork-file-view/bin
// 啓動程序
./startup.sh
// 查看日誌
./showlog.sh

沒有報錯說明啓動成功。這裏要特別注意,如果之前 openOffice 已經啓動過了的話,這個項目就會啓動失敗,需要先關掉 openOffice 然後再來啓動這個項目。

10、停止服務器,如果需要關閉這個項目,只需要執行下面的命令即可。

./shutdown.sh

11、啓動說明,如果 openOffice 已經啓動成功的話,項目會啓動不成功。可以執行下面命令來解決。

// 查看8100端口是否啓動
netstat -lnp | grep 8100
// 結束進程
kill 15756

四、使用

var url = 'http://127.0.0.1:8080/file/test.txt'; //要預覽文件的訪問地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));

五、總結

博主走了很多彎路才整明白這個東西,在這裏記錄一下整個過程,希望可以幫助大家少踩坑。由衷感謝代碼擁有者。

碼字不易,如果你覺得本文對你有幫助,幫忙點個贊就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章