阅读PDF格式的表Itextsharp

时间:2012-04-19 15:37:27

标签: pdf itextsharp itext

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

enter image description here

请注意,这里的一些列名是两行的。例如部门代码和员工识别号码。

因此,如果员工属于“HR”部门,我的要求是阅读员工身份证号码和工资。为此,我必须检查PDF文件中是否存在名为“部门代码”的列。

当我使用iTextsharp阅读此表时,会发生的事情是让我们说“部门代码”栏目的“部门”部分位于第1位,但“代码”位于第5位。这是因为此列显示为2在我阅读本专栏的“Code”部分之前,pdf中还有其他四个单词。我完全坚持这个:(

任何人都知道如何确保列名称“部门代码”存在并从该表中读取相应的值。

感谢您的帮助!

此致 贾里尔

1 个答案:

答案 0 :(得分:1)

不幸的是,PDF实际上没有“表格”的概念。看起来像一张桌子只是一堆任意文本恰好有围绕它的线条。大多数PDF创建库允许您从“表”创建内容,但最终将它们转换为文本和不相关的行。而且,你所看到的“空白单元格”实际上可能根本就没有文本(尽管它可能是一个空格)。

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