日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Zhong__Linux服务器word转PDF方案

發布時間:2023/12/14 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zhong__Linux服务器word转PDF方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

時間:2018.10

環境:CentOS7

目的:

說明:

作者:Zhong QQ交流群:121160124 歡迎加入!

有時我們可能在項目開發中遇到這樣的問題? 需要把word文檔轉換為PDF文件? 如果是在windows平臺? 是可以完美轉換的? 如果是個人或者只是臨時需要轉換文件網上也有很多的軟件或者第三方接口可供使用? 但在Linux系統開發環境下? 卻會出現不能完美轉換的問題? 這是因為目前大多數所使用的技術都是依賴系統office辦公軟件的? windows下的office辦公軟件是微軟公司的? 自然在windows系統中轉換自如? 而linux系統中的辦公軟件做的不是很完美? 使用于linux系統? 但對windows中的word支持不是很好? 轉換也會存在一些不足? 這是不同的系統對office的兼容問題? 在某個角度可以說是和代碼無關的? 無論是java還是python皆是如此? 未來可能有好的解決方案? 目前也可以用其它比較復雜的技術實現

既然windows可以完美支持word轉PDF? 那么我們可以在一臺windows服務器上寫一個word轉PDF的接口? 讓linux系統中程序調用? 這樣就可以實現了? 這種方法是可以實現的? 筆者已經做過這種需求的項目? 感覺不足的是需要一臺運行windows的服務器來支持? 但確實可以做到比較完美的word轉PDF

安裝依賴包:

yum install unoconv -y

此時執行轉換是可以的 但是默認不支持中文 也就是中文內容不能轉換

unoconv -f pdf *.docx # or unoconv -f pdf *.doc

安裝Linux版本office套件

yum install libreoffice.x86_64 -y

復制windows系統字體文件到Linux系統并刷新 windows系統字體文件一般在C:\Windows\Fonts\文件夾中 CentOS系統字體文件一般在/usr/share/fonts/目錄下 在/usr/share/fonts/目錄下新建windows目錄 把windows系統字體文件上傳到此目錄

上傳完成后即可使用 下面的更新字體緩存的操作做不做都行

建立字體緩存

fc-cache -fv

查看已安裝字體

fc-list |grep windows

上面的unoconv命令也可以soffice命令替代

soffice --headless --invisible --convert-to pdf *.docx # or soffice --headless --invisible --convert-to pdf *.doc

可參考下面整理的方案:

安裝libreoffice套件和unoconv軟件

1.在線安裝

查看yum源的安裝包

yum search libreoffice

查看yum源上安轉包基本信息

yum info libreoffice

安裝Linux版本office套件

yum install libreoffice.x86_64

安裝unoconv依賴包

yum install unoconv -y

2.離線安裝

如有需要可卸載已存在的office

yum remove openoffice* libreoffice*

下載LibreOffice 以5.3.6.1版本為例 下載網站: 主頁 | LibreOffice 簡體中文官方網站 - 自由免費的辦公套件 下載完成后進行解壓安裝

tar -zxvf LibreOffice_5.3.6.1_Linux_x86-64_rpm.tar.gz cd LibreOffice_5.3.6.1_Linux_x86-64_rpm/RPMS/ sudo rpm -Uvh *.rpm

安裝好office之后安裝unoconv git下載 參考網站: https://docs.moodle.org/31/en/Installing_unoconv#CentOS_.2F_RedHat

git clone https://github.com/dagwieers/unoconv.git

拷貝unoconv執行文件到/usr/bin目錄

cp unoconv/unoconv /usr/bin

測試

unoconv -f pdf *.doc

python測試文件test.py

vim test.py # 寫入以下的內容import osos.system("unoconv -f pdf *.doc")

執行

python test.py

Note

需要了解的是目前無論是windows平臺還是Linux平臺word文檔轉PDF文件 大多底層都是依賴于系統本身的office辦公套件 由于平臺之間的兼容性存在一些問題 所以有些情況下轉換的結果不是很完美

而且對于目前window系統較新的word文檔軟件創建和保存word文檔時是以docx后綴結尾 而Linux系統office辦公軟件對此類文件兼容性并不友好,例如在windows平臺顯示正常的word文檔 如果內容部分背景色顯示為灰色 那么在Linux中查看則是黑色背景 不調試則看不清文字 而PDF文檔是以word文檔為基礎 docx存在問題 則轉換的PDF文檔也理所當然的存在問題 這就導致windows下的docx文檔在Linux系統中轉換為PDF文檔出現樣式不一致問題 而較早的doc后綴結尾的word文檔由于Linux系統office辦公套件兼容性較好的原因一般不會出現此類問題? 所以? 建議轉換為PDF文件的word源文檔類型為doc類型

????????當然 隨著技術的發展 會出現一些比較優秀的工具可能會彌補上述不足 最近有需求要對word文檔進行電子簽名 發現一款名為aspose-words的工具可以實現! 而且支持多種主流開發語言 不過最近沒有word轉pdf的需求 也就沒測試可否完美轉換 有需求的可以嘗試一下!

????????如果大家發現有什么好的工具也歡迎分享!

QQ交流群:121160124

關注微信公眾號:

總結

以上是生活随笔為你收集整理的Zhong__Linux服务器word转PDF方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。