1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        SpringBoot 實現(xiàn) Office 各種格式在線預覽(詳細教程,包教包會)

        共 971字,需瀏覽 2分鐘

         ·

        2022-06-09 06:48

        點擊關注公眾號,Java干貨及時送達??

        1. 項目特性
        2. 部署過程
          • 2.1 二進制下載部署文件進行部署
          • 2.2 docker方式部署
          • 2.3 通過源代碼編繹部署
        3. 部分配置說明
          • 3.1 server.context-path
        4. 預覽亂碼字體問題
        5. 預覽展示
        6. 附件
        7. 其他說明
          • 7.1使用openoffice進行轉換
          • 7.2 libXext.so.6: cannot open shared object file: No such file or directory

        kkFileView為文件文檔在線預覽解決方案,該項目使用流行的spring boot搭建,易上手和部署,基本支持主流辦公文檔的在線預覽,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,圖片,視頻,音頻等等。

        官網(wǎng):https://kkfileview.keking.cn/zh-cn/index.html

        1.項目特性

        • 支持word excel ppt,pdf等辦公文檔
        • 支持txt,java,php,py,md,js,css等所有純文本
        • 支持zip,rar,jar,tar,gzip等壓縮包
        • 支持jpg,jpeg,png,gif等圖片預覽(翻轉,縮放,鏡像)
        • 支持mp3,mp4,flv等多媒體文件預覽
        • 使用spring boot開發(fā),預覽服務搭建部署非常簡便
        • rest接口提供服務,跨平臺特性(java,php,python,go,php,....)都支持,應用接入簡單方便
        • 支持普通http/https文件下載url、http/https文件下載流url、ftp下載url等多種預覽源
        • 提供zip,tar.gz發(fā)行包,提供一鍵啟動腳本和豐富的配置項,方便部署使用
        • 提供Docker鏡像發(fā)行包,方便在容器環(huán)境部署
        • 抽象預覽服務接口,方便二次開發(fā),非常方便添加其他類型文件預覽支持
        • 最最重要Apache協(xié)議開源,代碼pull下來想干嘛就干嘛

        2.部署過程

        部署方式,可以直接下載二進制步驟,也可以通過docker直接拉取,還可以通過源碼編繹進行,下面分別說明

        前提條件:Jdk需要先安裝設置好,kkFileWiew是Java開發(fā)的,Jdk必需。

        tar?-xvf?jdk-8u191-linux-x64.tar.gz?-C?/usr/local

        cat?>>?/etc/profile?<
        export?JAVA_HOME=/usr/local/jdk1.8.0_191/
        export?PATH=\$JAVA_HOME/bin:\$PATH
        export?CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
        EOF

        source?/etc/profile
        [root@localhost?testuser]#?java?-version
        java?version?"1.8.0_191"
        Java(TM)?SE?Runtime?Environment?(build?1.8.0_191-b12)
        Java?HotSpot(TM)?64-Bit?Server?VM?(build?25.191-b12,?mixed?mode)
        2.1 二進制下載部署文件進行部署

        1.從碼云發(fā)行版本下載最新版發(fā)行包,這里只以linux為例,一般服務器都是linux的,如果用windows也可,看官網(wǎng)說明進行。

        2.解壓kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包),如:

        tar?xvf?kkFileView-4.0.0.tar.gz?-C?/opt/

        3.運行startup腳本(Windows下以管理員身份運行startup.bat,Linux以root用戶運行startup.sh

        cd?/opt/kkFileView-4.0.0/bin

        注:linux下kkFileWiew需要LibreOffice的支持,因此startup.sh會判斷系統(tǒng)是否已安裝LibreOffice,如果沒有安裝,將自動下載安裝,因此需要有互聯(lián)網(wǎng)環(huán)境的支持,如果是內網(wǎng)的機器,可以考慮在一臺有互聯(lián)網(wǎng)環(huán)境下的機器上搭建一個http代理服務器,然后通過export命令設置通過代理下載,如在192.168.56.1上搭建了一個http代理(設置了賬號和密碼),可以通過如下命令執(zhí)行,然后再執(zhí)行startup.sh

        export?http_proxy=http://admin:[email protected]:1080
        export?https_proxy=http://admin:[email protected]:1080
        export?no_proxy='127.0.0.1'

        運行startup.sh

        [root@localhost?bin]#?./startup.sh?
        Using?KKFILEVIEW_BIN_FOLDER?/opt/kkFileView-4.0.0/bin
        Installing?OpenOffice
        Loaded?plugins:?fastestmirror
        Determining?fastest?mirrors
        ........略
        Complete!
        Loaded?plugins:?fastestmirror
        No?such?command:?installlocalho.?Please?use?/usr/bin/yum?--help
        install?finshed...
        Starting?kkFileView...
        Please?execute?./showlog.sh?to?check?log?for?more?information
        You?can?get?help?in?our?official?homesite:?https://kkFileView.keking.cn
        If?this?project?is?helpful?to?you,?please?star?it?on?https://gitee.com/kekingcn/file-online-preview/stargazers

        4.按步驟3的提示執(zhí)行./showlog.sh查看啟動日志,報錯,需要解決office.home的問題:

        ./startup.sh報錯,不是一鍵部署嗎?官網(wǎng)直接說.startup.sh難道有坑?查看startup.sh中,定定了幾個目錄/opt/libpreoffice*,根據(jù)官網(wǎng)說的,4.0版本后依賴libpreoffice,繼續(xù)看/opt目錄下,沒看到libpreoffice目錄存在,說明libpreoffice未安裝成功。

        /opt目錄下,沒看到libpreoffice目錄存在,說明libpreoffice未安裝成功,如下:

        [root@localhost?opt]#?ls?-hl?/opt/
        total?0
        drwxr-xr-x.?5?root?root?42?Aug?20?13:05?kkFileView-4.0.0

        繼續(xù)看,發(fā)現(xiàn)沒有安裝的情況是要執(zhí)行install.sh

        install.sh如下

        看著像是會執(zhí)行安裝的,cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS查看,也確實是下載了很多包

        手工再執(zhí)行一次安裝看看

        cd?/tmp/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
        yum?localinstall?*.rpm?-y

        執(zhí)行成功后再重啟.startup.sh,發(fā)現(xiàn)能正常啟動了。

        [root@localhost?RPMS]#?cd?/opt/kkFileView-4.0.0/bin/
        [root@localhost?bin]#?./startup.sh?

        5.瀏覽器訪問本機8012端口,如:http://192.168.56.101:8012

        6.使用

        使用較簡單:從步驟4中可以看出,通過傳遞一個經過base64位的外部文件url地址給kkFileView程序即可如:

        http://192.168.56.101:8012/onlinePreview?url=aHR0cDovLzE5Mi4xNjguNTYuMTAxOjgwMTIvZGVtby9hcHBsaWNhdGlvbi5wcm9wZXJ0aWVz

        2.2 docker方式部署
        ##拉取鏡像
        docker?pull?keking/kkfileview:v4.0.0?##官網(wǎng)拉取
        docker?pull?192.168.56.1:6000/keking/kkfileview:v4.0.0?##通過私庫拉?。ㄓ械脑挘?/span>

        ##運行(第一次)
        docker?run?-itd?-p?8012:8012?192.168.56.1:6000/keking/kkfileview:v4.0.0?##有私庫的情況下。

        docker?run?-itd?-p?8012:8012?keking/kkfileview:v4.0.0

        ##查看
        docker?ps?-a
        docker?exec?-it?1be9d7d654dc?/bin/bash

        ##停止與啟動,
        docker?stop?容器id
        docker?start?容器id
        2.3 通過源代碼編繹部署

        1.下載代碼,以4.0.0版本為例

        git?clone?https://gitee.com/kekingcn/file-online-preview.git

        ##切換到v4.0.0版本
        git?checkout?-b?v4.0.0?origin/v4.0.0

        2.編繹

        mvn?clean?package?-Dmaven.test.skip=true

        3.編繹成功后,在file-online-preview\server\target目錄下找到對應的二進制文件

        4.再走一遍2.1步驟中的二進制部署方式即可。

        3.部分配置說明

        通過修改application.properties來修改配置,需要重啟程序如:

        3.1 server.context-path

        默認的訪問路徑為/onlinePreview,通過server.context-path進行修改,

        更詳細的配置參見官網(wǎng)的配置說明:

        https://kkfileview.keking.cn/zh-cn/docs/config.html

        4.預覽亂碼字體問題

        大部分Linux系統(tǒng)上并沒有預裝中文字體或字體不全,需要把常用字體拷貝到Linux服務器上,具體操作如下:

        下載如下字體包http://kkfileview.keking.cn/fonts.zip文件解壓完整拷貝到Linux下的?/usr/share/fonts目錄。然后依次執(zhí)行mkfontscale 、mkfontdir 、fc-cache使字體生效,可能需要重啟kkFileView程序

        unzip?-o?-d?/usr/share/fonts/?fonts.zip
        ##解壓多了一層,需要移動一下到上一層的fonts下面,然后再刪除zhFonts文件夾
        mv?/usr/share/fonts/zhFonts/*?/usr/share/fonts/
        cd?/usr/share/fonts/
        mkfontscale?
        mkfontdir
        fc-cache

        如果報mkfontscale命令不存在執(zhí)行

        yum?install?mkfontscale?-y

        解決亂碼前:

        解決亂碼后:

        5.預覽展示

        1.properties

        2.pdf

        3.word

        word也是通過轉換成pdf再瀏覽的

        6.附件

        鏈接:https://pan.baidu.com/s/1sXYjx1_16I5JFGyxEja_bA 提取碼:kixv

        7.其他說明

        7.1使用openoffice進行轉換

        有時發(fā)現(xiàn)liboffice并沒有傳說官網(wǎng)中說的那么穩(wěn)定與好,可能是我沒用好,我自己轉換試驗是覺得openoffice更穩(wěn)定,轉換大于10M的word也順利,反而用官網(wǎng)推薦的liboffice轉換,常常崩并把office進程給搞沒了,所以我這邊一般是使用openoffice進行轉換。

        不需要改什么,就是直接再安裝openoffice4就好,安裝過程見

        https://blog.csdn.net/jxlhljh/article/details/117041944

        修改application.properties中的配置

        #openoffice?home路徑
        #office.home?=?C:\\Program?Files?(x86)\\OpenOffice?4
        #office.home?=?${KK_OFFICE_HOME:default}
        office.home?=?/opt/openoffice4

        然后進行kkfileView的重啟,kkfileView啟動時發(fā)現(xiàn)/opt/openoffice4目錄有安裝了openoffice4會以openoffice4進行啟動。

        7.2 libXext.so.6: cannot open shared object file: No such file or directory
        #/opt/openoffice4/program/soffice.bin:?error?while?loading?shared?libraries:?libXext.so.6:?cannot?open?shared?object?file:?No?such?file?or?directory
        #先執(zhí)行:
        yum?install?-y?libXext.x86_64

        ##然后
        cp?-a?/usr/lib64/libXext.so.6?/opt/openoffice4/program/

        來源:blog.csdn.net/jxlhljh/article/details/119815808

        1.?讓人上癮的新一代開發(fā)神器,徹底告別Controller、Service、Dao等方法

        2.?SpringCloud Gateway API接口安全設計(加密 、簽名)

        3.?SpringBoot 引入線程池+Queue緩沖隊列實現(xiàn)高并發(fā)下單業(yè)務

        4.?“國防七子”經費暴增,清華再增45億,甩第二名101億

        最近面試BAT,整理一份面試資料Java面試BATJ通關手冊,覆蓋了Java核心技術、JVM、Java并發(fā)、SSM、微服務、數(shù)據(jù)庫、數(shù)據(jù)結構等等。

        獲取方式:點“在看”,關注公眾號并回復?Java?領取,更多內容陸續(xù)奉上。

        PS:因公眾號平臺更改了推送規(guī)則,如果不想錯過內容,記得讀完點一下在看,加個星標,這樣每次新文章推送才會第一時間出現(xiàn)在你的訂閱列表里。

        “在看”支持小哈呀,謝謝啦??

        1.?xxl-job驚艷的設計,怎能叫人不愛

        2.?讓人上癮的新一代開發(fā)神器,徹底告別Controller、Service、Dao等方法

        3.?SpringCloud Gateway API接口安全設計(加密 、簽名)

        4.?SpringBoot 引入線程池+Queue緩沖隊列實現(xiàn)高并發(fā)下單業(yè)務

        最近面試BAT,整理一份面試資料Java面試BATJ通關手冊,覆蓋了Java核心技術、JVM、Java并發(fā)、SSM、微服務、數(shù)據(jù)庫、數(shù)據(jù)結構等等。

        獲取方式:點“在看”,關注公眾號并回復?Java?領取,更多內容陸續(xù)奉上。

        PS:因公眾號平臺更改了推送規(guī)則,如果不想錯過內容,記得讀完點一下在看,加個星標,這樣每次新文章推送才會第一時間出現(xiàn)在你的訂閱列表里。

        “在看”支持小哈呀,謝謝啦??

        瀏覽 40
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久草国际 | 免费黄色网页.com。 | 91人妻边做边打电话 | 国产亲妺妺乱的性视频 | 小舞的玉足伸进我的裆部 | 性爱无码免费观看 | 韩国成人啪啪无码高潮 | 91午夜精品亚洲一区二区三区 | 黄色动漫在线看 | 天天日天天操天天射 |