0
我想提取文本頁面從PDF和存儲文本每頁清單明智列表中的像蟒蛇 - 從PDF頁面明智提取文本列出
[['This', 'is', 'one', 'page'] , ['I', 'am', 'page', 'TWO'] , ['Three', 'that\'s', 'me'] , ['and', 'so', 'on'] , ['...']]
我用extractText()
從PyPDF2 package方法:
#!/usr/bin/python
from PyPDF2 import PdfFileReader
# open PDF
myPDFpath = 'test.pdf'
myPDF = PdfFileReader(open(myPDFpath, "rb"))
# initialize page list
pagelist = []
# grab all text from PDF per page and put into page list
for page in range(0, myPDF.getNumPages()):
currentPage = myPDF.getPage(page)
myText = currentPage.extractText()
thispage = myText.split()
pagelist.append(thispage)
上面的代碼在技術上有效,但該方法是不可靠的(按照自己doc),拋出輸出像:
[u'!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"', u'"!"#$"%#&\'"()"',
所以我想知道是否有其他可靠的方法來解析Python中的PDF文件中的文本?
你的意思是那句「這非常適用於某些PDF文件,但對其他人不好,這取決於使用的發電機。」?這是真的。不是*全部*全部*全部*文本可以*總是*被提取。發佈一個鏈接到您有問題的PDF,我們可以判斷這是否是這樣的。 – usr2564301
我使用的文件位於:http://a.uguu.se/yefsbf_testdocx-pdf.pdf它是使用MSx中的Print/Pdf ...函數從docx文檔生成的。如果有一種方法可以從docx生成一個不會引發這些問題(但保持頁面完好)的pdf的方法,那將會很棒 – birgit
非常令人驚訝:我自己的工具比PyPDF2更好,但是在解碼字體時出錯: '% - 純文本轉儲---------------- 我「是」頁面「1」。「我」是「頁面」1。「」我「是」頁面「 1。「」(等),空格字符被翻譯成'''!儘管如此,使用Adobe Acrobat複製文本時也會出現同樣的情況,這就是能夠複製文本的試金石。檢查PDF顯示我們都是正確的,根據嵌入的'/ ToUnicode','空間'確實轉化爲雙引號。 – usr2564301