У меня есть 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())
Таким образом, это печатает заголовки, но как мне распечатать следующие объекты макета?Моя логика на правильном пути или я должен переосмыслить свой подход?