用pdfbox或icepdf转换PDF为图片时,中文乱码问题

最近在做一个将PDF文件转换成图片文件,然后传给前端展示的功能。刚开始时是用pdfbox,在本地windows环境下可以正常转换,图片没有任何问题。然后上了linux的测试环境,一样没问题。但是上了linux的生产环境之后,传出来的图片里面的中文内容就变成乱码了。

刚开始时以为时pdfBox本身有兼容性问题或者bug,因为在网上也查到资料说pdfBox转换有乱码。后来就换了icePdf,但是结果一样,本地windows没问题,linux测试环境没问题,但生产linux环境出问题了。经过一番网上查资料折腾无果,最后想到,会不会是字库的问题,因为linux本身其实对中文支持就不是很好。最后,把linux测试环境里面的中文字库都放到了linux生产环境上面,刷新字库缓存之后,问题解决!

后来总结了一下,这个问题搞了这么久,有两个原因,一、对pdf格式文件不够了解,一开始以为它是和图片差不多,只是普通的像素组成,没想到还与字符编码有关系。2、Java的跨平台特性一直都很好,所以没有想到这个小问题会与平台本身的环境有关,花了大量时间在代码的检查上面。

因为在网上看不到有这种问题的解决办法,所以特此写了出来,希望能帮助到更多同行。

 

PS:如果不知道需要装什么字库文件,可以用pdf阅读器打开pdf文件,然后可以看到这个pdf文件里面用到了什么字体,然后再去一一对应的找出来,然后安装进去就可以了

 

转载请注明出处:http://www.cnblogs.com/Starshot/p/7481724.html

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值