完成word轉pdf的功能之后,本地測試沒問題,然后發布到服務器上,就遇到了字體變亂的問題,如下:
由於我本地發布后導出沒有出現同樣情況,而服務器和本地的最大區別在於字體庫,於是,把服務器上關於需要用的字體(仿宋)全部刪除,導出時報錯(SIMFANG.TTF不存在)。
可喜可賀,問題已精確定位到字體庫上。把本地的仿宋常規字體復制出來,安裝到服務器上,導出又出現亂碼問題:
此時文字已經成為想要看到的仿宋,只是亂碼- -!經聯想,之前報錯提示過SIMFANG.TTF不存在,於是把原字體刪除,仿宋_GB2312重命名為SIMFANG.TTF后安裝到字體庫,問題解決!!
總結:
由於實現導出word報告並生成pdf的功能采用的技術是freemarker + aspose.word ,freemarker是將xml另存為doc,不能用openoffice做格式轉換;ftl模板中存在關於字體的定義,“仿宋”在aspose中被解析為字庫中的SIMFANG.TTF字體,此字體找不到時會報錯,安裝錯誤則默認為其他字體或導致亂碼問題。