【发布时间】:2016-06-29 23:19:51
【问题描述】:
我编写了从 PDF 文件中抓取所有数据的 python 代码。这里的问题是,一旦被刮掉,单词就会失去语法。如何解决这些问题? 我附上代码。
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)
with open(path, 'rb') as fp:
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
caching = True
pagenos = set()
for page in PDFPage.get_pages(fp, pagenos, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
device.close()
retstr.close()
return text
print convert_pdf_to_txt("S24A276P001.pdf")
【问题讨论】:
-
如果您从pdf查看器复制粘贴,您可以正确看到正确的文本吗?
-
复制粘贴后没有文字不正确
-
有时文本不会以我以前见过的某种语言存储在某些 pdf 文件中,这意味着您需要为此编写自定义解码器。没有语言知识,我在这里无能为力。
-
如何写一个通用的自定义解码器??如果你能帮我解决这个问题,我可能会想办法。
-
要写解码器,需要了解我不会说的语言和语法。也许你可以发布一组正确的文本和不正确的文本,但我很有可能没有线索。
标签: python pdf ocr pdfminer pdf-scraping