#!/usr/bin/env python3 import os import sys from pdfrw import PdfReader, PdfWriter def main(input_files, output_file): cwd = os.getcwd() all_pdf_pages = {} lengths = [] print(f'loading input files: {input_files}') for pdf_filename in input_files: reader = PdfReader(os.path.join(cwd, pdf_filename)) all_pdf_pages[pdf_filename] = reader.pages lengths.append(len(reader.pages)) assert all([x == lengths[0] for x in lengths]) interleaved_pdf = PdfWriter() for i in range(lengths[0]): for pdf in all_pdf_pages.values(): interleaved_pdf.addpage(pdf[i]) interleaved_pdf.write(os.path.join(cwd, output_file)) def usage(): print('Usage: interleave.py output.pdf input1.pdf input2.pdf [input3.pdf ...]') if __name__ == '__main__': if len(sys.argv) < 4: usage() sys.exit(1) main(sys.argv[2:], sys.argv[1])