Eu não sei se existe uma solução de linha de comando pura para isso, mas o PyPDF2 pode fazer o truque! Acabei de adaptar um Gist que eu encontrei para atender às suas necessidades, caso você não esteja familiarizado com a programação em Python.
O seguinte código também está disponível como Github Gist .
Não se esqueça de fazer um sudo dnf install python3-PyPDF2
e alterar os nomes dos arquivos.
#!/bin/python3
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2.pdf import PageObject
# Theses files are just for testing, no point in merging these
reader = PdfFileReader(open("Nextcloud Manual.pdf",'rb'))
# this defines the output page format (relevant if not the same)
sup_reader = PdfFileReader(open("Cplusplus.pdf",'rb'))
writer = PdfFileWriter()
for pageNo in range(min(reader.getNumPages(), sup_reader.getNumPages())):
print("Merging page:", pageNo)
invoice_page = reader.getPage(pageNo)
sup_page = sup_reader.getPage(pageNo)
translated_page = PageObject.createBlankPage(None, sup_page.mediaBox.getWidth(), sup_page.mediaBox.getHeight())
translated_page.mergeScaledTranslatedPage(sup_page, 1, 0, 0)
translated_page.mergePage(invoice_page)
writer.addPage(translated_page)
with open('out.pdf', 'wb') as f:
writer.write(f)
Editar: observe que isso silenciosamente ignora as páginas excedentes do PDF que tem mais páginas. Eu poderia fornecer uma solução melhor para isso, se necessário.