Если бы это был я, я бы использовал PDFjam или аналогичный инструмент для выполнения 6-up для каждого из исходных документов.
Я бы тогда использовал PyPDF , чтобы вычислить количество страниц на каждой, добавить пустую страницу, если необходимо, и объединить остальные страницы. Что-то вроде:
blank_page = PDFFileReader('blank.pdf').pages[0]
dest = PDFFileWriter()
for source in sources:
PDF = PDFFileReader(source)
dest.addPage(PDF.pages)
if PDF.numPages % 2: #odd number of pages in source
dest.addPage(blank_page)
Похоже, что PyPDF также поддерживает слияние страниц с изменением размера и перемещением, поэтому теоретически это также должно работать для создания документа n-up, хотя я не вижу примера кода для этого.