Читайте раздел данных мудро из PDF - PullRequest
1 голос
/ 29 мая 2019

Как мы можем читать данные по разделам из 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...