Печать следующего объекта макета с помощью pdfminer - PullRequest
0 голосов
/ 01 июня 2019

У меня есть PDF-файл для перебора, в нем у меня есть вопросы с заголовком «SAQ», за которым следует список вопросов, а затем заголовок «Ответ», за которым следует список ответов.Содержимое, за которым следуют заголовки, будет упорядоченным списком различной длины с буквами в скобках в качестве маркеров элементов - если есть только один вопрос, то маркер элемента отсутствует.Пример:

SAQ 1
(a) Question text here
(b) Question text here

Answer
(a) Answer text here
(b) Answer text here

SAQ 2
Question text here

Answer
Answer text here

Итак, я хочу напечатать все заголовки, а затем содержимое.

Теперь я нашел способ печати заголовков, но не могу придумать способкак печатать следующие экземпляры LLTextBox или LLTextLine, и они, конечно, должны иметь условные выражения, чтобы они ничего не печатали после последнего экземпляра Answer text here.

Я пришелсо следующим кодом:

for page in PDFPage.create_pages(document):


    interpreter.process_page(page)

    layout = device.get_result()

    for lt_obj in layout:
        if isinstance(lt_obj, LTTextBox) or isinstance(lt_obj, LTTextLine):
                        if "SAQ " in lt_obj.get_text():
                            print(lt_obj.get_text())
                        if "Answer" in lt_obj.get_text():
                            print(lt_obj.get_text())

Таким образом, это печатает заголовки, но как мне распечатать следующие объекты макета?Моя логика на правильном пути или я должен переосмыслить свой подход?

...