Написал программу, которая берет текст из пдф и записывает в файл. Но по итогу часть текста идет не так вообще как надо. Кто знает как именно можно парсить именно по ячейкам, от одной к другой. Или может есть свои варианты, как это сделать
Код моей программы:
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO
def getPDFText(pdfFilenamePath):
retstr = StringIO()
parser = PDFParser(open(pdfFilenamePath, 'rb'))
try:
document = PDFDocument(parser)
except Exception as e:
print(pdfFilenamePath, '')
return ''
if document.is_extractable:
rsrcmgr = PDFResourceManager()
device = TextConverter(rsrcmgr,retstr, codec='ascii' , laparams = LAParams())
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.create_pages(document):
interpreter.process_page(page)
return retstr.getvalue()
else:
print(pdfFilenamePath,"")
return ''
if __name__ == '__main__':
words = getPDFText('09.03_0.pdf')
print(words)
file = open('new.txt', 'w')
file.write(words)