Использование PyPDF2 для объединения файлов в несколько выходных файлов
Вот блок кода, который вызывает проблему. Цикл будет каждый раз добавлять новый файл, а это не то, чего я пытаюсь достичь. Например, outputfile1 - это input1.pdf, outputfile2 - это input1.pdf + input2.pdf...
Я пытаюсь объединить файл 1x.pdf с файлами 1a.pdf + 1b.pdf + 1c.pdf в выходной файл file.pdf, а затем выполнить цикл и сделать то же самое для 2, 3 и 4. Конечный результат должен быть 4 отдельных файла. Что мне не хватает? Ясно как грязь? Спасибо заранее за любую помощь.
i = 1
while i < 5:
# files to be merged
input1 = open(Path1+str(i)+"x.PDF", "rb")
input2 = open(Path2+str(i)+"a.PDF", "rb")
input3 = open(Path2+str(i)+"b.PDF", "rb")
input4 = open(Path2+str(i)+"c.PDF", "rb")
# output files
output_file = open("/NewFile"+str(i)+".pdf", "wb")
# add input1 document to output
merger.append(fileobj = input1, pages = (0, 3, 2), import_bookmarks = False)
# insert the pages of input2 into the output beginning after the second page
merger.append(input2)
# insert the pages of input3 into the output beginning after the second page
merger.append(input3)
# insert the pages of input4 into the output beginning after the second page
merger.append(input4)
# Write to an output PDF document
merger.write(output_file)
output_file.close()
i += 1
1 ответ
Воскрешая супер старый вопрос, но столкнулся с этим и хотел ответить, чтобы, надеюсь, не дать другим людям вставить ваш частичный код выше и столкнуться с той же проблемой.
Не видя остального, я только догадываюсь, но твой цикл не создает нового merger
он просто продолжает добавлять, добавлять и добавлять, о чем вы и сообщаете в качестве проблемы. Я ожидаю, что если вы введете свой код инициализации слияния в цикл (чтобы он переустанавливался на каждой итерации), у вас будет то, что вы ищете.