Привет, я использую типичный способ для анализа текста из PDF.Проблема в том, что каждая страница имеет верхний колонтитул и т. Д., Чем я не хочу писать в текстовом файле вывода.Есть ли способ исключить, например, первые 3 строки каждой страницы (поскольку я знаю, сколько строк в заголовках)
Мой код здесь:
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from pdfminer.converter import TextConverter
from io import StringIO
import os
import re
def F_update(pdf_paths,number_upd,dir):
base_path = dir
for i in pdf_paths:
my_file = i
log_file = "C:\\Users\\vagos\\Desktop\\trelovagos\\text\\databases\\testnewafrica.txt"
file2 = open("C:\\Users\\vagos\\Desktop\\trelovagos\\text\\databases\\testnewafrica.txt" ,mode = 'w+',buffering = 1 ,encoding ='utf-8')
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'ascii'
laparams = LAParams(char_margin = 35,word_margin = 2 ,line_margin = 0.3 ,all_texts = True)#detect_vertical = True)
device = TextConverter(rsrcmgr, retstr, codec=codec , laparams=laparams)
fp = open(i, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
caching = True
pagenos=set()
for PageNumer,page in enumerate(PDFPage.get_pages(fp, pagenos , password=password,caching=caching, check_extractable=True)):
interpreter.process_page(page)
text = retstr.getvalue()
file2.write(text)
file2.close()
fp.close()
device.close()
retstr.close()