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

  • 相关阅读:
    298. Binary Tree Longest Consecutive Sequence
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    163. Missing Ranges
    336. Palindrome Pairs
    727. Minimum Window Subsequence
    211. Add and Search Word
    年底购物狂欢,移动支付安全不容忽视
    成为程序员前需要做的10件事
    全球首推iOS应用防破解技术!
  • 原文地址:https://www.cnblogs.com/Starshot/p/7481724.html
Copyright © 2011-2022 走看看