我必須閱讀一個pdf文件,其中包含一個包含多列的表格。使用iTextSharp我能夠讀取文件,但我得到一堆非格式文本。我無法構造數據,因此我可以插入到數據庫中。閱讀PDF文件獲取結構化格式的表格數據,
有什麼建議嗎?
我必須閱讀一個pdf文件,其中包含一個包含多列的表格。使用iTextSharp我能夠讀取文件,但我得到一堆非格式文本。我無法構造數據,因此我可以插入到數據庫中。閱讀PDF文件獲取結構化格式的表格數據,
有什麼建議嗎?
我總結有沒有直截了當的方式來做到這一點。至少以表格格式讀取數據。我嘗試了Mark提供的建議,但根據我的要求,似乎並不可行。
如果我理解正確,pdf文本就會被定位存儲,所以它沒有行或列的概念。這意味着您必須根據您從不同列中讀取的「可能性」使用啓發式。
您可以嘗試通過比較單詞之間的空間量來做到這一點。 (我不熟悉ITextSharp接口,所以請原諒我,如果我提到它無法使用的東西......我大多很熟悉pdfNet。
剛纔找到的另一個想法是,如果文字具有視覺線索,如垂直線分隔的列。如果是這樣的話,你應該能夠拿出試探法來確定文本向左或列線的權利。
...
然而最好的事情,如果可能的,是得到啊以數據庫友好的格式存儲舊數據。從長遠來看,這可能會挽救心痛。
賈森 -
除非它的結構化文本沒有標籤顯示列。像PdfBox這樣的工具可以'猜測'來嘗試提取表格。
有文章解釋爲什麼文本提取是如此難以在http://pdf.jpedal.org/java-pdf-blog/bid/12670/PDF-text
一般來說,從PDF文件中讀取數據很困難且容易出錯。當你說「我能讀取文件」時,你究竟是什麼意思?你在使用PdfReader類嗎? – 2009-11-25 17:19:36
是的。我正在使用PdfReader來讀取文件。但它完全分散。由於數據在表格中,我無法正確讀取它。 – asyncwait 2009-11-25 17:35:28