Как мы можем читать данные по разделам из PDF-файлов, используя python или любой другой язык / инструмент.На самом деле я хочу написать код, который может дать данные внутри каждого раздела Python, просто набрав заголовок раздела.Кроме того, я также хочу извлечь изображения из раздела, если там есть какие-либо изображения.
Я попытался pdfminer вырезать данные из PDF-файлов.Но иногда pdfminer разделяет данные на основе строк вместо абзаца / раздела.Почему некоторые PDF-файлы исправлены, а другие - нет?
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfpage import PDFPage
from pdfminer.layout import LAParams
from pdfminer.converter import PDFPageAggregator
from pdfminer.pdfpage import PDFPage
from pdfminer.layout import LTTextBoxHorizontal
ans=[]
count=0
document = open('08_chapter 2.pdf', 'rb')
#Create resource manager
rsrcmgr = PDFResourceManager()
# Set parameters for analysis.
laparams = LAParams()
# Create a PDF page aggregator object.
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.get_pages(document):
count+=1
interpreter.process_page(page)
print("Page Count=",count,)
# receive the LTPage object for the page.
layout = device.get_result()
for element in layout:
if isinstance(element, LTTextBoxHorizontal):
a=element.get_text()
a=a.strip('\n')
a=a.replace('\n',"")
a=a.replace('\xa0',"")
a=a.strip()
if( len(a)==a.count(' ') ):
continue
else:
ans.append(a)
else:
if isinstance(element,pdfminer.layout.LTFigure):
ans.append(element.matrix)