使用Aspose.word DOC轉PDF文件亂碼問題

描述:最近在項目中使用Aspose.word將word轉pdf時出現中文亂碼問題,在window平臺下轉換沒有問題,中文也不會出現亂碼。但是將服務部署在服務器linux上,轉換出來的PDF中文就出現了亂碼,變成一個個的小方格,小編進行遠程調試後發現,在生成word文件的時候沒有發生亂碼,而是從DOC文件轉換成PDF時就會發送亂碼,對此在這裡記錄一下解決方案。

原因:在window下沒有問題但是在linux下有問題,就說明不是代碼或者輸入輸出流編碼的問題,根本原因是兩個平臺環境的問題。出現亂碼說明linux環境中沒有相應的字體以供使用,所以就會導致亂碼的出現。將轉換無問題的windos主機中的字體拷貝到linux平臺下進行安裝,重啟服務器後轉換就不會出現亂碼了。

解決方法:將windows中的常用字體(選擇顯示的)放到Linux服務器上。window上的字體在”C:\\Windows\\Fonts“目錄下,linux的字體庫是 /usr/share/fonts 。如果沒有大家可以創建一個。

1、如果沒有目錄,可以使用下面命令

# mkdir /usr/share/fonts

2、在該目錄下新建一個目錄,比如目錄名叫 windows(根據個人的喜好,自己理解就行,當然這裡是有權限要求的,你可以用sudo來執行)。

# mkdir /usr/share/fonts/windows

3、然後將 windows 字體庫中你要的字體文件複製到新建的目錄下(只需要複製*.ttc,和*.ttf的文件).

# 複製所有字體:

# cp *.ttc /usr/share/fonts/windows/

# cp *.ttf /usr/share/fonts/windows/

更改這些字體庫的權限:

# chmod 755 /usr/share/fonts/windows/*

然後進入linux字體庫:

# cd /usr/share/fonts/windows/

接著根據當前目錄下的字體建立scale文件

# mkfontscale

注:如果沒有mkfontscale這個命令,可以使用”yum install mkfontscale“獲取

接著建立dir文件

# mkfontdir

然後運行

# fc-cache (如果命令不存在,直接重啟就可以了)


分享到:


相關文章: