2
我試圖從使用PDFMiner(代碼Extracting text from a PDF file using PDFMiner in python?處的代碼)中提取PDF文件中的文本。除了path/to/pdf之外,我沒有更改代碼。令人驚訝的是,該代碼返回同一文檔的多個副本。我得到了與其他pdf文件相同的結果。我是否需要通過其他論點或者我缺少什麼?任何幫助,高度讚賞。以防萬一,我提供了代碼:從pdf中提取文本與pdfminer給出多個副本
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
def convert_pdf_to_txt(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = file(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
fstr = ''
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
str = retstr.getvalue()
fstr += str
fp.close()
device.close()
retstr.close()
return fstr
print convert_pdf_to_txt("test.pdf")
這些PDF是從哪裏來的?他們全都是用同一種工具創造的嗎?一些腦死亡腳本完全有可能在其中創建帶有多個文本副本的PDF文件。 – kindall 2014-11-05 03:01:13
@kindall感謝您的詢問。我從科學期刊下載了所有測試過的pdf文件,所以我假定它們是用相同的工具創建的。 – chemist 2014-11-05 03:18:16
你能分享一個示例文檔來重現問題嗎? – mkl 2014-11-05 08:18:10