我不是一個資深高手,只想描述普通人在項目中真正常見的問題,以及我的一些經(jīng)驗!
? ?在一些中小型的項目中,經(jīng)常會遇到有些客戶提出,需要預(yù)覽上傳到文件服務(wù)器的office 文件,比如word ppt excel等,這個時候,常規(guī)的做法,就是講這些文件轉(zhuǎn)成pdf,在用戶點擊預(yù)覽時,直接在瀏覽器實現(xiàn)預(yù)覽的效果。
? ?當(dāng)然目前技術(shù)發(fā)展,出現(xiàn)了n多的方案,比如openoffice 新一些的比如kkFileView 都能實現(xiàn)自搭建,從而實現(xiàn)office文件轉(zhuǎn)pdf的效果,此文基于openoffice搭建而來。
? ?由于目前docker的不穩(wěn)定性,本文以及后續(xù)的文章將不在基于docker模式進(jìn)行講解,原因大家自行百度。話不多說,上操作
1.下載openoffice
? ?OpenOffice下載地址:https://www.openoffice.org/zh-cn/download/index.html
? ?大家自行選擇自己需要的版本,我這邊基于centos,如下

2.安裝openoffice
注意openoffice運(yùn)行的前提是本地存在java環(huán)境,這個大家自行安裝,如果不是很會,直接運(yùn)行 yum install -y java-sdk 即可
安裝完java環(huán)境之后,大家按照如下腳本直接執(zhí)行即可,下文中的fonts 是啥呢,其實是windows中的字體,實際目錄
C:\Windows\Fonts 大家可以把字體拷貝然后參考如下的腳本,拷貝字體到實際環(huán)境
如果覺得所有字體太大,此處放一張我認(rèn)為常用字體截圖即可,部分特殊字體再單獨處理

#!/bin/bash
echo "step one upload openoffice file ......."
cp ./Apache_OpenOffice_4.1.6_Linux_x86-64_install-rpm_zh-CN.tar.gz /root/common/openoffice
cp ./fonts/* /usr/share/fonts/defineFonts/ && cd /usr/share/fonts/defineFonts && chmod 755 *.TTF && chmod 755 *.TTC? && mkfontscale && mkfontdir && fc-cache -fv
echo "step two install openoffice file ......."
cd /root/common/openoffice && tar -xzvf Apache_OpenOffice_4.1.6_Linux_x86-64_install-rpm_zh-CN.tar.gz && cd zh-CN/RPMS/ && rpm -ivh *.rpm && cd desktop-integration/ && rpm -ivh openoffice4.1.6-redhat-menus-4.1.6-9790.noarch.rpm
echo "file? /opt/openoffice4/program/ has been create......."
echo "install some plugins......."
yum install -y libXext.x86_64 && cp -a /usr/lib64/libXext.so.6 /opt/openoffice4/program/
echo "step three start openoffice ........"
nohup /opt/openoffice4/program/soffice -headless -accept="socket,host=0.0.0.0,port=8100;urp;" -nofirststartwizard &
3.驗證openoffice 運(yùn)行情況
? ?運(yùn)行如下命令? ps?-ef |?grep?openoffice 如果存在表示openoffice基礎(chǔ)環(huán)境搭建完成
4.驗證文章轉(zhuǎn)換可用性
自行下載? jodconverter-2.2.2.zip 文件? 簡書管控,不讓放鏈接,這個資源需要可以私聊我
下載之后運(yùn)行
java -jar?/opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar?test.doc?test.pdf 自行驗證