zoukankan      html  css  js  c++  java
  • Java用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

  • 相关阅读:
    软考解析:2014年上半年下午试题
    软考解析:2014年下半年下午试题
    软考解析:2015年下半年下午试卷
    软考解析:2015年上半年下午试卷
    怎样完善和推广自己的理论模型?
    怎样完善和推广自己的理论模型?
    Android开发——常见的内存泄漏以及解决方案(一)
    聊聊Android5.0中的水波纹效果
    JVM——自定义类加载器
    JVM——Java类加载机制总结
  • 原文地址:https://www.cnblogs.com/Starshot/p/7481724.html
Copyright © 2011-2022 走看看