Как в python пронаименовать файл pdf по заданному списку?
У меня есть файл pdf каждую страницу которого нужно сохранить в отдельном pdf файле с заданием соответствующего наименования файла. Наименования находятся в отдельном списке.
Пока есть такой код, который просто сохраняет в отдельные файлы с наименованием файлов обычной нумерацией:
from PyPDF2 import PdfFileWriter, PdfFileReader
input_PDF = PdfFileReader(open('my_document.pdf', 'rb'))
for i in range(input_PDF.getNumPages()):
output = PdfFileWriter()
new_File_PDF = input_PDF.getPage(i) #
output.addPage(new_File_PDF)
output_Name_File = str(i+1) + ".pdf"
outputStream = open(output_Name_File, 'wb')
output.write(outputStream)
outputStream.close()
Как встроить сюда код который будет выбирать наименования из списка просто по порядку?
Ответы (1 шт):
Автор решения: Михаил Муругов
→ Ссылка
Не вижу списка наименований в коде, поэтому пусть будет так:
names_list = [f"name{i+1}" for i in range(input_PDF.getNumPages())]
Тогда код будет:
# "Сшиваем" номера страниц и соответствующие им имена
for page_num, name in zip(range(input_PDF.getNumPages()), names_list):
output = PdfFileWriter()
new_File_PDF = input_PDF.getPage(page_num) # Выбираем страницу
output.addPage(new_File_PDF)
output_Name_File = f"{name}.pdf" # Добавляем к имени суффикс .pdf
outputStream = open(output_Name_File, 'wb')
output.write(outputStream)
outputStream.close()
См. zip.
Учтите, что кол-во страниц должно совпадать с кол-вом имён в списке, иначе цикл закончится на самом коротком из них.