В качестве примера, вот как страницы будут размещены на одном листе:

Как видите, это означает, что нормальная последовательность страниц в файле PDF должна быть изменена. быть изменены соответствующим образом:
Исходная последовательность = 1, 2, 3, 4 ...
Новая последовательность = 2, 3, 4, 1 . ..
Я придумал решение ниже, которое действительно работает, но, к сожалению, оно пропускает последние страницы, если их нельзя разделить на четыре:
import pypdf
pdf = pypdf.PdfReader('test.pdf')
writer = pypdf.PdfWriter()
# Different sequences
sq_1 = range(1, len(pdf.pages), 4)
sq_2 = range(2, len(pdf.pages), 4)
sq_3 = range(3, len(pdf.pages), 4)
sq_4 = range(0, len(pdf.pages), 4)
# Iterate over pages
for a, b, c, d in zip(sq_1, sq_2, sq_3, sq_4):
# Copy pages to new file
writer.add_page(pdf.get_page(a))
writer.add_page(pdf.get_page(b))
writer.add_page(pdf.get_page(c))
writer.add_page(pdf.get_page(d))
# write new PDF file
output = open("output.pdf", "wb")
writer.write(output)
# close files
pdf.close()
output.close()
< /code>
Есть ли способ легко решить эту проблему? .
Подробнее здесь: https://stackoverflow.com/questions/793 ... a-pdf-file
Мобильная версия