博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用com.aspose.words将word模板转为PDF文件时乱码解决方法
阅读量:2338 次
发布时间:2019-05-10

本文共 674 字,大约阅读时间需要 2 分钟。

使用com.aspose.words将word模板转为PDF文件时,在开发平台window下转换没有问题,中文也不会出现乱码。但是将服务部署在正式服务器(Linux)上,转换出来的PDF中文就出现了乱码。

问题原因分析

在window下没有问题但是在linux下有问题,就说明不是代码或者输入输出流编码的问题,根本原因是两个平台环境的问题。出现乱码说明linux环境中没有相应的字体以供使用,所以就会导致乱码的出现。将转换无问题的windos主机中的字体拷贝到linux平台下进行安装,重启服务器后转换就不会出现乱码了。

window字体复制到linux环境并安装

Windows下字体库的位置为C:\Windows\fonts,这里面包含所有windows下可用的字体

linux的字体库是 /usr/share/Fonts

在该目录下新建一个目录,比如目录名叫 windows,然后将 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

接着建立dir文件

mkfontdir

然后运行

fc-cache

转载地址:http://edrpb.baihongyu.com/

你可能感兴趣的文章
栈和堆的具体区别
查看>>
如何判断一个点在矩形内
查看>>
析构函数何时被调用
查看>>
C++虚函数底层机制
查看>>
面试题:随机数生成、蓄水池抽样、海量数据、设计秒杀系统
查看>>
malloc (0)详解
查看>>
linux清除cache的方法
查看>>
memmove 和 memcpy的区别以及处理内存重叠问题
查看>>
费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
查看>>
C/C++中变量的存储位置
查看>>
C++中四种强制类型转换区别详解
查看>>
RTTI
查看>>
linux gdb的详细用法 运行与断点
查看>>
删除vector中重复元素
查看>>
和为s的连续正数序列
查看>>
什么是Redis?什么是nosql?NoSQL数据库的四大分类
查看>>
为什么说Redis是单线程的以及Redis为什么这么快!
查看>>
redis的过期健删除策略以及内存淘汰机制
查看>>
redis 双写一致性问题
查看>>
map 如何使用结构体作为自定义键值
查看>>