Моя цель - разделять PDF каждый раз, когда в нем есть ключевое слово.Итак, у меня есть документ с множеством различных экспериментов, иногда два на одной странице, иногда один эксперимент на более чем 10 страницах. Моя цель - каждый раз, когда на сайте появляется «новый эксперимент».новый эксперимент снова появляется в собственном PDF.Я пытался написать код, но он не работает по-разному:
import PyPDF2
import re
import os
path = path
file = open("path.pdf", "rb")
pdfReader=PyPDF2.PdfFileReader(file)
number_of_pages=pdfReader.numPages
print(number_of_pages)
list = []
PageFound = -1
Keyword = "experiment"
for i in range(0, number_of_pages):
content = ""
content += pdfReader.getPage(i).extractText() + "\n"
content1 = content.encode('ascii', 'ignore').lower()
content2 = content1.decode(encoding="utf-8")
ResSearch = re.search(Keyword, content2)
print(ResSearch)
if ResSearch is not None:
PageFound = i
list.append(i)
break
#partially code from: https://stackoverflow.com/questions/12571905/finding-on-which-page-a-search-string-is-located-in-a-pdf-document-using-python
#problem here is that no elements can be added to the list, because it always returns none
fname = os.path.splitext(os.path.basename(path))[0]
for page in list:
while page <= list[list.index(page)+1)] in list
pdf_writer = PdfFileWriter()
pdf_writer.addPage(pdf.getPage(page))
page = page + 1
output_filename = '{}_page_{}.pdf'.format(
fname, page+1)
with open(output_filename, 'wb') as out:
pdf_writer.write(out)
print('Created: {}'.format(output_filename))
#problem here starts, that I cannot command that it should add to the new pdf the sites until the keywords appears again
Если у кого-нибудь есть предложения по моему коду или, возможно, есть лучший, я был бы признателен за вашу помощь
Спасибомного