1、先看问题的出现:

  功能是这样滴:上传一个word文件,然后把word文件转成pdf,保存在服务器上,然后打开服务器上的pdf文件地址,在线查看文件出现内容乱码,如下:

 

 

 

  2、解决在Linux上word转pdf时出现乱码问题:

    看了其他乱七八糟的博客,就用他的解决了这个问题:https://blog.csdn.net/chengxuxuan/article/details/122827866?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122827866-blog-64905214.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122827866-blog-64905214.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=1

 

    主要就是 在linux上要使用windows的字体。

    第一步:把windows系统上的fonts文件上传到 linux服务器上的/usr/share/fonts目录里,如果没有/usr/share/fonts目录,就自己创建一个

      windows的fonts所在地址:C盘的windows目录的fonts文件夹,480M还真是有点大

 

 

 

  (注意:我的是放在了/usr/share/fonts目录里)

  上传到linux服务器的/usr/share/fonts目录后,使用以下命令,把字段缓存到linux里

上传之后在liunx系统下更改这些字体库的权限:
sudo chmod 755 /usr/share/fonts/*

  

  fc-cache命令用不了的话,安装一下:

 

 

 

  然后一步到味,更新一下字段缓存:

 

 

 

 

    最后一步,要在你的aspose转pdf工具类里,放入下面关键代码:

          【
    //apose在linux服务器上生成pdf,内容乱码问题,解决代码:将windows的字体上传到linux,取linux上的字体列表
                FontSettings fontSettings = FontSettings.getDefaultInstance();
                fontSettings.setFontsFolder("/usr/share/fonts" + File.separator, true);

        】

            String os = System.getProperty("os.name"); //获取当前java运行
            if(os != null && os.toLowerCase().startsWith("windows")){
//                log.info("当前是windows");
            }else if(os != null && os.toLowerCase().startsWith("linux")){ //当前环境:linux系统
//                log.info("当前是linux系统");
                //apose在linux服务器上生成pdf,内容乱码问题,解决代码:将windows的字体上传到linux,取linux上的字体列表
                FontSettings fontSettings = FontSettings.getDefaultInstance();
                fontSettings.setFontsFolder("/usr/share/fonts" + File.separator, true);
            }

 

 

    重新上传一个word文件,成功在linux上转成pdf:

 

 

 

 

 

 

 

 

 

 

 

原文地址:http://www.cnblogs.com/spll/p/16800114.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性