#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. Что не так с кодом в вашем вопросе?