在Linux服务器上进行word转pdf(解决无中文字体问题)
·
首先要解决的是linux上没有中文字体的问题,这使得转换的pdf中字体有乱码。
其次要选择合适依赖文件,我使用的是免费开源的com.spire.doc.Document。
注意创建好相关目录:字体安装目录、pdf文件存储目录。
1. 上传中文字体
windows中文字体存放在:C:\Windows\Fonts
然后将字体打包上传到 /usr/share/fonts/chinese 下 (没有就创建目录) ,依次执行一下命令:
- chmod 775 /usr/share/fonts/chinese
- cd /usr/share/fonts/chinese
- sudo mkfontscale
- sudo mkfontdir
- sudo fc-cache -fv
2. 创建pdf文件存储目录
mkdir /weaver/ecology/***/targetFilePath
3. 代码
/**
* 将word转化成pdf并返回流
*
* @param inputStream
* @return
* @throws Exception
*/
private FileInputStream convertPdf(InputStream inputStream) {
FileInputStream fileInputStream = null;
BaseBean baseBean = new BaseBean();
try {
com.spire.doc.Document doc = new com.spire.doc.Document();
doc.loadFromStream(inputStream, FileFormat.Docx);
String filePath = GCONST.getRootPath() + "filesystem" + File.separatorChar + "targetFilePath" + File.separatorChar + "target.pdf";
baseBean.writeLog(filePath);
//保存为PDF格式
doc.saveToFile(filePath, FileFormat.PDF);
fileInputStream = new FileInputStream(filePath);
return fileInputStream;
} catch (Exception e) {
baseBean.writeLog(e);
}
return fileInputStream;
}
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)