2009-11-25 94 views
1

我必须阅读一个pdf文件,其中包含一个包含多列的表格。使用iTextSharp我能够读取文件,但我得到一堆非格式文本。我无法构造数据,因此我可以插入到数据库中。阅读PDF文件获取结构化格式的表格数据,

有什么建议吗?

+0

一般来说,从PDF文件中读取数据很困难且容易出错。当你说“我能读取文件”时,你究竟是什么意思?你在使用PdfReader类吗? – 2009-11-25 17:19:36

+0

是的。我正在使用PdfReader来读取文件。但它完全分散。由于数据在表格中,我无法正确读取它。 – asyncwait 2009-11-25 17:35:28

回答

0

我总结有没有直截了当的方式来做到这一点。至少以表格格式读取数据。我尝试了Mark提供的建议,但根据我的要求,似乎并不可行。

0

如果我理解正确,pdf文本就会被定位存储,所以它没有行或列的概念。这意味着您必须根据您从不同列中读取的“可能性”使用启发式。

您可以尝试通过比较单词之间的空间量来做到这一点。 (我不熟悉ITextSharp接口,所以请原谅我,如果我提到它无法使用的东西......我大多很熟悉pdfNet。

刚才找到的另一个想法是,如果文字具有视觉线索,如垂直线分隔的列。如果是这样的话,你应该能够拿出试探法来确定文本向左或列线的权利。

...

然而最好的事情,如果可能的,是得到啊以数据库友好的格式存储旧数据。从长远来看,这可能会挽救心痛。

贾森 -