Linux系統下Java 轉換Word到PDF時,結果文檔內容亂碼的解決方法


本文分享在Linux系統下,通過Java 程序代碼將Word轉為PDF文檔時,結果文檔內容出現亂碼該如何解決。具體可參考如下內容:

1.問題出現的背景

Windows系統中,使用Spire.Doc for Java將Word文檔轉換為PDF格式時(如下代碼),結果文檔內容正常;但是在Linux系統中,轉出來PDF文檔出現亂碼或方框。

import com.spire.doc.*;

public class WordtoPDF {
    public static void main(String[] args) {
        Document document = new Document();
        document.loadFromFile("Sample.docx");
        document.saveToFile("out/toPDF.pdf", FileFormat.PDF);

    }
}

2. 問題出現的原因

這個問題是由於Linux服務器缺少字體所導致。通過Spire.Doc for Java轉換Word到PDF時,需要從系統中查找對應的字體繪制字形,如果系統中沒有安裝文檔使用的字體,那么會先從系統安裝了的字體匹配出能支持這個字形的字體,如果無法匹配出相應的字體,那么就會出現亂碼方框。若遇到這類問題,建議先確認Word文檔中使用了哪些字體,將這些字體安裝到Linux系統

 

3. 問題解決辦法

關於如何查看和安裝字體的詳細指令:

步驟1開啟root權限:

輸入指令: su root ;不行時,需要先輸入指令: sudo passwd root, 根據步驟輸入密碼,然后再重新輸入指令: su root 

 

步驟2將字體文件先放到某一個文件夾下,然后進入文件夾:

輸入指令: cp simsun.ttc /usr/share/fonts/

然后依次輸入下面的指令:

mkfontscale     //字體擴展

mkfontdir         //新增字體目錄

fc-cache-fv       //刷新緩存

 

步驟3查看安裝的字體文件:

查看系統中的字體

指令:fc-list

查看系統中的中文字體:

指令:fc-list:lang=zh

 

以上是本次關於“在Linux系統下,通過Java程序將Word轉為PDF后,出現內容亂碼的解決辦法”的全部內容。如果問題未解決,可留言或添加 QQ:2790765778 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM