2012-04-19 77 views
0

我正在尝试使用.NET应用程序中的Itextsharp读取PDF。我能够阅读单个单词。我现在面临的挑战是读一张桌子。我有一个表的结构是这样的:在PDF中读表Itextsharp

enter image description here

请注意,这里列了一些名字是两个内衬。例如部门代码和员工识别号码。

因此,如果员工属于“人力资源”部门,我的要求是阅读员工识别号码和薪水。为此,我必须检查PDF文件中是否存在名为“部门代码”的列。

当我用iTextsharp读这张表时,会发生什么让我们说'部门代码'栏的'部门'部分出现在第1部分,而'代码'出现在第5个位置。这是因为此列显示在在阅读本专栏的“代码”部分之前,pdf中存在两行和另外四个单词。我完全停留在这个:(

任何人有任何想法如何确保列名“部门代码”存在并读取该表中的相应值。

感谢您的帮助!

问候, Jaleel

回答

1

不幸的是,PDF文件实际上并没有“表格”的概念,看起来像一张表格只是一堆任意的文本,恰好有一行文字,大多数PDF创建库允许您创建内容从一个“表”,但最终那些把他们变成文本和不相关的行。另外,你所看到的“空白单元格”实际上可能根本就没有文字(尽管它可能是一个空格)。

对于这种事情,你几乎必须拿出一些针对你的文档的任意规则。你可能尝试计算相对于文本的行存在的位置,并尝试以更合理的格式重建您的表格,但您将很难做到这一点。

+0

谢谢克里斯的帮助!我试图找到那些任意的规则:) – Jaleel 2012-04-19 19:40:26