上接帖子:http://topic.csdn.net/u/20081103/15/5120d0ec-a218-49d7-9793-6b5ec5291aa9.html
http://www.fdydo.co.jp/sikyo/yasai.pdf
这个pdf文件里面包含了一个table...我想读取它其中的部分数据...现在遇到的问题是:
PdfReader reader = new PdfReader(path);
byte[] bs = reader.GetPageContent(1);
我把这个bs写到记事本中得到以下数据:q
1 g
0 0 595.200 841.800 re f
Q
q
1 g
/GS0 gs
57.120 399.682 296.160 32.280 re f
Q
q
1 g
/GS0 gs
409.800 303.202 45 16.200 re
...这样的数据不知道该如何编码才能使正常的字符串...
而且最好包含一些格式符...这样可以来选择所需要的列...

解决方案 »

  1.   

    换成UTF-8的格式估计就可以了吧,愚见!!
      

  2.   

    我记得在以前用itestsharp的时候, 如果要使其支持中文, 必须要加一个字体文件
    那么在读取pdf的时候, 是不是也要加个字体文件
      

  3.   

    你的PDF文件要下载一个10M日文字体,太大了,看不到,你要不给个普通的pdf,要不把你看到的列表里边的内容贴出来大家看看,再和你的程序结果比较下。
      

  4.   

    很多时候,字串是在stream对象里面的,经过压缩的,直接看不到内容。一般是用flate算法压缩要提取数据是很麻烦的事情,对于cjk字体,如果没有内嵌的话,都需要借助外部编码表来解析,而不是字体文件
      

  5.   

    看了你的帖子,又仔细在网上查找资料研究了一下午,最后得出如下结论(不敢保证一定正确,但是敢保证95%的结论正确)itext目前只能做到新建一个文挡,往里边添加你想象的内容都可以,添加一些如作者等的原信息或者水印页码到现有文档(其实是读取原文档,然后原样复制一个,然后添加一些信息或者添加新页,或者整页删除),具体内容如文本、图片、表格等是不能进行比较容易的读取和修改的。
    目前除了一些收费的sdk,可能xpdf库可以做到文本提取,但是也仅仅是提取文本,好像也不能把格式等信息取出(这方面信息看的少,还不能完全确认)。LZ读到的信息是正确的,不过是加密的,没有解密看不懂信息的。提供一个itext原作者的一个文章iText PDF概述,这个文章所在网站,资料也是比较全的,建议多看看。说明下自己一下午研究后的感觉,其实懂了html就可以理解为什么itext主要侧重生成PDF文档的功能,却不做PDF文档的阅读器的功能,其实PDF文档也有自己的文档格式,如同HTML文件有自己的文档格式一样,只不过这些格式是文本的可读的标记“<>”以内的东西,而PDF文档是二进制的不可读的加密的标记,其实东西类似,所以我们来看我们如果要做个生成HTML文档的程序相对容易(我知道多少HTML标记用多少好了,不需要全部了解,而且只要大脑想象显示的样子就可以了),但是如果解析HTML文档,甚至还要显示HTML文档,就很难了,也就是为什么IE这样的浏览器不是任何人都轻易可以做的,但是懂点HTML知识的人都能生成一个HTML文档,当然有的人做的高级有的做的简单,一个道理,分析PDF文档的标记并显示难度很大的。结论,LZ还是不要想着修改PDF文档具体内容了,如果加水印页码之类的,倒是没问题,如果非要完成你的要求,估计只有花钱找公司的SDK来开发或者转包了。
      

  6.   

    PDF为了识别所有的字符,给每一个文字都赋予一个唯一的编码,叫CID。 然后又提供了不同的字体编码与CID的Map文件和CID和Unicode的Map文件。参照Resources\cmap\00_readme.pdf文件,就可以知道这些文件是什么。 一般的PDF文件中文字转换方法应该是从PDF文件解析出来字体名称和文字编码后,从对应的CMap文件中找到该文字编码对应的CID。然后再根据CID从CID和Unicode的Map文件找到对应的Unicode。 PDFBox不能正常转换中文的原因就在于,CMapParser Class没有解析begincidrange(不同的字体编码与CID对照表)一节, 也没有参照CID和Unicode Map文件进行转换,这是一个Bug。 昨天又找到了这样一段...
    现在觉得希望确实渺茫啊...
    昨天找到了别人做的一个软件...Solid Converter PDF...
    可以完美转换..."pdf to word" or "pdf to excel"
    继续研究一下...
      

  7.   

    哪个版本可以识别中文啊iTextSharp