回答
PDF不包含明確的表格數據。它只包含行和字符字形,我們傾向於將其解釋爲表格。因此,您的任務涉及將我們的人員表格識別功能放入代碼中,這是一項非常艱鉅的任務
一般來說,如果你果然未來的PDF文件將使用相同的軟件以非常相似的方式產生,它可能是值得花時間去探討一些簡單的文件,按照提示來識別的內容個別領域。
你特定的文件,不過,有一個額外的缺點:它不包含直接文本提取所需的信息!你可以嘗試複製從Adobe Reader粘貼&,你會得到(至少我是)從WinAnsi範圍內的半隨機角色。
這是由於文檔中的所有字體都聲稱他們使用WinAnsiEncoding,即使這樣引用的字符明確不是來自WinAnsi字符選擇。
因此,從文檔中提取可靠的文本而不使用OCR是不可能的!
(試用拷貝&從Adobe Reader粘貼通常是文本提取是否可行的一個很好的第一個測試; Reader的文本提取方法已經開發了很多年,因此已經變得相當不錯。你不能提取任何理智與Acrobat Reader,文本提取將是一個非常艱鉅的任務確實)
如果我想要通過OCR路線,您能指出我的方向嗎? – meadhikari
不幸的是,我還沒有不得不訴諸自己的OCR。 – mkl
我正試圖解決這個問題。我遇到的有趣的事情:我解析了一個PDF格式,看起來好像是從html/word文檔生成PDF格式的。當我將它從Acrobat Pro導出到Word文檔時,表格格式在輸出文件「.docx」中是100%正確的。我的問題是如果格式不存在,Acrobat如何完美提取表格? – amergin
你可以使用塔布拉: http://tabula.nerdpower.org 它是免費的,還挺好用
你試過[Tabula](http://source.opennews.org/en-US/articles/introductions-tabula /)在OP提供的[文件](http://www.nea.org.np/images/supportive_docs/55082070-3-19.pdf)正如我在我的回答中提到的那樣,文檔*不包含直接文本提取所需的信息,即使用PDF語法編碼的信息進行文本提取,而Tabula依賴PDFBox進行僅使用此類信息的文本提取。因此,我懷疑塔布拉現在會在這裏幫忙。 – mkl
您的評論後,我用tabula提取第一個表信息爲csv。它似乎工作,雖然文本被改變(由於enconding我認爲)。儘管如此,我認爲我不具備提供更高級答案的技術知識。 – panchtox
那麼,文本最有可能被改變,因爲文檔沒有提供直接文本提取的信息,並且假設取代這些信息可能是錯誤的。 – mkl
一種選擇是使用PDF-表提取:https://github.com/ashima/pdf-table-extract。
- 1. 從PDF中提取ToUnicode表格
- 2. 從PDF中提取表格使用Tabula
- 3. pypdf不從pdf中提取表格
- 4. 從PDF表格提取PDF表單字段名稱
- 5. 在Ruby中從PDF文件中提取表格
- 6. 如何在PHP中從PDF表格中提取字段值
- 7. 從表格中提取值
- 8. 從DOCX中提取表格
- 9. 從PDF中提取表格數據並對其進行排序
- 10. 我可以使用Perl從PDF中提取表格嗎?
- 11. 如何使用PDFMiner從PDF中提取表格?
- 12. 從很多PDF表格中提取數據
- 13. 使用pdftools從PDF中讀取表格
- 14. 以編程方式提取PDF表格
- 15. 從pdf中提取數據
- 16. 從pdf中提取區域
- 17. 從PDF中提取圖像
- 18. 從Apache Solr中提取PDF
- 19. 從PDF中提取標籤
- 20. 從PDF中提取數據
- 21. 從pdf中提取段落
- 22. 從PDF中提取圖像
- 23. 從PDF中提取蟒流
- 24. 從PDF提取圖
- 25. pdfminer不會從填寫的pdf表格提取數據
- 26. 從pdf markdown中旋轉表格pdf
- 27. 如何從提交的PDF表單中提取寫意寫作?
- 28. Querypath從表格中提取元素
- 29. 從文本文件中提取表格
- 30. 從infopath表格中提取數據
PDF不包含明確的表格數據。它只包含行和字符字形,我們傾向於將其解釋爲表格。因此,您的任務涉及將我們的人員表格識別功能放入代碼中,這是一項非常艱鉅的任務 – mkl
@mkl所以簡而言之,如果它不是一個死或死的情況,我最好不要考慮解析這個pdf嗎? :) – meadhikari
我一次使用[PDFMiner](https://pypi.python.org/pypi/pdfminer/)做了這樣的事情。基本上可以得到所有對象的x和y位置的流,然後將它們從上到下,從左到右(至少對於英語)進行分組,然後對單元格的結束位置進行智能猜測你對上下文的瞭解。這是痛苦的,每個PDF都是不同的。如果你不必解析它,不要。這是多久發佈一次? – ChrisP