<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpringBoot實(shí)現(xiàn)word、pdf、xls、cad等各種格式文件在線預(yù)覽!

          共 1068字,需瀏覽 3分鐘

           ·

          2022-06-07 22:39

          你知道的越多,不知道的就越多,業(yè)余的像一棵小草!

          你來,我們一起精進(jìn)!你不來,我和你的競(jìng)爭(zhēng)對(duì)手一起精進(jìn)!

          編輯:業(yè)余草

          blog.csdn.net/jxlhljh

          推薦:https://www.xttblog.com/?p=5347

          文件文檔在線預(yù)覽開源項(xiàng)目kkFileView的使用

          • 項(xiàng)目特性
          • 部署過程
          • 二進(jìn)制下載部署文件進(jìn)行部署
          • docker方式部署
          • 通過源代碼編繹部署
          • 部分配置說明
          • server.context-path
          • 預(yù)覽亂碼字體問題
          • 預(yù)覽展示
          • 附件
          • 其他說明
          • 使用openoffice進(jìn)行轉(zhuǎn)換
          • libXext.so.6: cannot open shared object file: No such file or directory

          kkFileView為文件文檔在線預(yù)覽解決方案,該項(xiàng)目使用流行的spring boot搭建,易上手和部署,基本支持主流辦公文檔的在線預(yù)覽,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,圖片,視頻,音頻等等,官網(wǎng):https://kkfileview.keking.cn/zh-cn/index.html

          1.項(xiàng)目特性

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

          2.部署過程

          ?

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

          ?

          前提條件:Jdk需要先安裝設(shè)置好,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 二進(jìn)制下載部署文件進(jìn)行部署

          1. ##從碼云發(fā)行版本https://gitee.com/kekingcn/file-online-preview/releases下載最新版發(fā)行包,這里只以linux為例,一般服務(wù)器都是linux的,如果用windows也可,看官網(wǎng)說明進(jìn)行。
          二進(jìn)制下載部署文件進(jìn)行部署
          1. ##解壓kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包),如:
          tar?xvf?kkFileView-4.0.0.tar.gz?-C?/opt/
          1. ##運(yùn)行startup腳本(Windows下以管理員身份運(yùn)行startup.bat,Linux以root用戶運(yùn)行startup.sh)
          cd?/opt/kkFileView-4.0.0/bin

          注:linux下kkFileWiew需要LibreOffice的支持,因此startup.sh會(huì)判斷系統(tǒng)是否已安裝LibreOffice,如果沒有安裝,將自動(dòng)下載安裝,因此需要有互聯(lián)網(wǎng)環(huán)境的支持,如果是內(nèi)網(wǎng)的機(jī)器,可以考慮在一臺(tái)有互聯(lián)網(wǎng)環(huán)境下的機(jī)器上搭建一個(gè)http代理服務(wù)器,然后通過export命令設(shè)置通過代理下載,如在192.168.56.1上搭建了一個(gè)http代理(設(shè)置了賬號(hào)和密碼),可以通過如下命令執(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'

          如果你不知道如何搭建http代理,可留言我,后面我寫一篇如何搭建htttp代理服務(wù)器的文章出來。

          運(yùn)行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
          1. 按步驟3的提示執(zhí)行./showlog.sh查看啟動(dòng)日志,報(bào)錯(cuò),需要解決office.home的問題
          查看啟動(dòng)日志

          ./startup.sh報(bào)錯(cuò),不是一鍵部署嗎?官網(wǎng)直接說.startup.sh難道有坑?查看startup.sh中,定定了幾個(gè)目錄/opt/libpreoffice*,根據(jù)官網(wǎng)說的,4.0版本后依賴libpreoffice,繼續(xù)看/opt目錄下,沒看到libpreoffice目錄存在,說明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的

          kkFileView

          install.sh如下

          kkFileView

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

          kkFileView
          ?

          手工再執(zhí)行一次安裝看看
          cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
          yum localinstall *.rpm -y

          ?
          ?

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

          ?
          [root@localhost?RPMS]#?cd?/opt/kkFileView-4.0.0/bin/
          [root@localhost?bin]#?./startup.sh?
          kkFileView
          1. 瀏覽器訪問本機(jī)8012端口,如:http://192.168.56.101:8012
          kkFileView

          使用

          使用較簡單:從步驟4中可以看出,通過傳遞一個(gè)經(jīng)過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?##通過私庫拉取(有的話)

          ##運(yùn)行(第一次)
          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

          ##停止與啟動(dòng),
          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
          1. ##編繹
          ?

          mvn clean package -Dmaven.test.skip=true

          ?
          1. ##編繹成功后,在file-online-preview\server\target目錄下找到對(duì)應(yīng)的二進(jìn)制文件
          2. ##再走一遍2.1步驟中的二進(jìn)制部署方式即可。

          3.部分配置說明

          ?

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

          ?

          3.1 server.context-path

          ?

          默認(rèn)的訪問路徑為/onlinePreview,通過server.context-path進(jìn)行修改,

          ?

          更詳細(xì)的配置參見官網(wǎng)的配置說明https://kkfileview.keking.cn/zh-cn/docs/config.html

          4.預(yù)覽亂碼字體問題

          ?

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

          ?
          ?

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

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

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

          yum?install?mkfontscale?-y
          ?

          解決亂碼前:

          ?
          解決亂碼前
          ?

          解決亂碼后:

          ?
          解決亂碼后

          5.預(yù)覽展示

          1. properties
          properties
          1. pdf
          pdf
          1. word

          word也是通過轉(zhuǎn)換成pdf再瀏覽的

          word

          6.附件

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

          7.其他說明

          7.1使用openoffice進(jìn)行轉(zhuǎn)換

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

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

          修改application.properties中的配置

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

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

          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/


          瀏覽 210
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青青草在线激情视频 | 色逼亚洲视频 | 波多野结衣一区二区三区免费视频 | 亚洲黄色在线 | 污视频网站在线观看国产 |