您的位置:程序门 -> java -> j2se / 基础类



pdfbox提取pdf文本,如果pdf中的字体本地没有,出现乱码


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


pdfbox提取pdf文本,如果pdf中的字体本地没有,出现乱码
发表于:2007-03-26 15:41:49 楼主
pdfbox提取pdf文本,如果pdf中的字体本地没有,出现乱码。

我写了个简单的代码,从pdf文件中取得   文本。传入不同的pdf文件发现有的可以正确显示,有的显示乱码,我用的是pdfbox   0.73版,而且所有的pdf都是英文的内容。

有的是同1个文件中一部分是乱码,一部分正常显示,所以我觉得是因为有些文本的字体本地没有,导致用gettext()方法时,返回的是乱码。


代码大致如下:
pddocument   doc=pddocumet.load( "c:\\test.pdf ");
pdftextstripper   stripper=new   pdftextstripper   ();

string   text=stripper.gettext(doc);

运行后text变量中有可能包括一部分是正常显示的字符,一部分是乱码

请问这种现象是不是因为字体的原因?如果是,有没有办法在调用gettext()之前,将pdf中本地没有的字体替换成本地有的,这样再调用gettext()应该可以正确显示。
或者有其他方法解决????


发表于:2007-03-26 15:47:131楼 得分:0
up
发表于:2007-03-26 19:09:412楼 得分:0
字体的原因是出现方框,你这应该是编码格式不统一吧~~或者读出来的时候就已经是乱码了,转码看看
发表于:2007-03-27 09:01:133楼 得分:0
和我联系easypdf@gmail.com
发表于:2007-03-27 09:25:484楼 得分:0
lixiaoxue85(蛮野蛮)   (   )   信誉:97         blog     2007-3-26   19:09:41     得分:   0    
 
 
     
字体的原因是出现方框

我的就是一部分字是方框,而且编码格式我试过了,怎么转也没用,而且我也不知道他以前的编码格式是什么
 
发表于:2007-03-27 12:53:535楼 得分:0
关注一下
发表于:2007-03-27 21:19:386楼 得分:0
关注一下

继续
发表于:2007-07-18 17:26:107楼 得分:0
关注一下,
我试验了extracttext程序
有resource目录,可是没有作用
cmap下明明有identity-v的,可总是认为unknown   encoding
发表于:2007-07-25 11:50:368楼 得分:0
谢谢各位关注

这个问题自从上次留帖后不久就没做了,最近有时间继续搞...

我用的pdf   是南美国家一个公司的文件,发现这个文档里的字符编码根本和我们的不一样,比如说字符 "m "   它的字节码是   01,   提出来转成char时,java   用unicode   编码得到的就是个   特殊字符,也就是乱码.

发表于:2007-07-27 11:58:529楼 得分:0
可能lz的pdf中那个并不是标准的英文字符,而是扩展的欧洲国家的某种语言,所以字节码看起来是ascii的,但其实不是英文字母
发表于:2007-07-27 11:59:0910楼 得分:0
建议使用xpdf试一下
发表于:2007-07-31 17:15:2911楼 得分:0
出来转成char时,java   用unicode   编码
看看encoding是什么,不一定是unicode编码啊


快速检索

最新资讯
热门点击