itextpdf识别不了一些中文字体的问题

       项目需要识别pdf文件中的文字,我使用了itextpdf中自带的方法:

String text = PdfTextExtractor.getTextFromPage(page);

 

1. 报错:The CMap com/itextpdf/io/font/cmap/UniGB-UTF16-H was not found.

2. 原因:查看源码可见:com.itextpdf对中文字体的支持不是很好,jar包有些字体缺失;

3. 解决办法:

1)下载itext-asian-5.2.0.jar包;

2)由于我是需要识别现有的pdf文件中的字体,不是用来生成pdf文件,itext-asian-5.2.0.jar里面所带的字体包名和com.itextpdf.io所在jar包的字体包名不一致,如果直接修改源码,改动较大,所以无法直接使用itext-asian-5.2.0.jar。我在我自己的项目下建了一个和com.itextpdf.io所在jar包的字体包名一样的包名,然后将itext-asian-5.2.0.jar里面所带的字体复制进去,重新运行项目即可解决问题。

你可能感兴趣的:(itextpdf)