记一次将word文档转为PDF文档中遇到的Maven依赖问题,在网上查找解决方案时选择了。
<dependency>
<groupId>fr.opensagres.xdocreport</groupId>
<artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
<version>1.0.6</version>
</dependency>
这个工具包,虽然转换起来比较慢,但是使用起来非常简单.这里不做使用方法的介绍,只做一个使用问题的记录; 虽然版本是最新版但是已经是2016年老代码了;其中该工具存在以下依赖;
其中org.apache.poi提供了java对office文档的基础支持, com.lowagie:itext提供了对PDF文档的支持,到这里从word转成PDF格式的功能基本可以实现的,但是存在不支持中文的问题,具体体现在word里的中文转换成PDF后中文消失;
又去网上查找解决itext对中文的支持,网上大部分的答案是加入com.itextpdf:itextasian包.
PS:com.itextpdf之前的包名是叫com.lowagie;但是我使用的…converter.pdf:1.0.6只支持com.lowagie所以你引入com.itextpdf:itextasian是徒劳的;需要引入com.lowagie:itextasian才可以;
下面贴出项目中使用到的依赖:
<!--万恶之源-->
<dependency>
<groupId>fr.opensagres.xdocreport</groupId>
<artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
<version>1.0.6</version>
</dependency>
<!--没有该包的话,会有中文显示问题-->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itextasian</artifactId>
<version>1.5.2</version>
</dependency>
但是maven一直无法下载itextasian这个jar包,我是手动下载导入的。
在linux下转成的pdf没有中文,解决办法如下:
字体安装:
这里就把window上的字体打包,选择中文字体就行,上传到Ubuntu系统, 安装好就成。
window系统中的字体路径: C:\Windows\Fonts 下
找到字体库路径
/usr/share/fonts
目录下,在其中建立了一个win目录,用于存放上传的中文字体,
再执行命令:
fc-cache -fv
将字体刷新到缓存中。