2012-04-19 73 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