Разделение большого PDF-документа на более мелкие документы на основе содержимого

#python #pdf #pypdf2 #pdfplumber

Вопрос:

У меня есть большой pdf-файл с очень специфическим форматированием, куча отчетов, если хотите, все в одном большом pdf-документе. Я использую pdfplumber для извлечения определенного текста в ограничивающем поле на каждой странице. Я назвал эту переменную scene_text. Значение scene_text изменяется по всему документу, но многие страницы содержат одно и то же значение для scene_text. Я хочу разделить большой pdf-файл на несколько небольших pdf-файлов, названных в соответствии со значением scene_text, при этом каждый pdf-файл содержит все страницы с соответствующим scene_text. Я ужасно застрял, буду признателен за любую помощь.

 import pdfplumber from PyPDF2 import PdfFileWriter, PdfFileReader import os  file = 'report.pdf'  with pdfplumber.open(file) as pdf:  for i, page in enumerate(pdf.pages):  # get scene text for current page  bounding_box = (880, 137, 1048, 180)  scene_text = page.within_bbox(bounding_box, relative=True).extract_text()  previous_page_text = pdf.pages[i-1].within_bbox(bounding_box, relative=True).extract_text()   inputpdf = PdfFileReader(open(file, "rb"))  output = PdfFileWriter()  for x, page in enumerate(pdf.pages):  st2 = page.within_bbox(bounding_box, relative=True).extract_text()  if st2 != previous_page_text:  output.addPage(inputpdf.getPage(i))  if st2 == scene_text:  if st2 == pdf.pages[x 1].within_bbox(bounding_box, relative=True).extract_text():  previous_page_text = st2    with open("page_export/"   scene_text   ".pdf", "wb") as output_stream:  output.write(output_stream)  

Комментарии:

1. Что не так с кодом в вашем вопросе?