Merge two pdf files side by side in command line

10,907

Solution 1

You can split File1.pdf and File2.pdf into pages and then combine those tmp files into File1+2.pdf like so:

# Split files, note the naming scheme
pdfseparate File1.pdf temp-%04d-file1.pdf
pdfseparate File2.pdf temp-%04d-file2.pdf

# Combine the final pdf
pdfjam temp-*-*.pdf --nup 2x1 --landscape --outfile File1+2.pdf

# Clean up
rm -f temp-*-*.pdf

Solution 2

I would use this:

sudo apt install psutils 
sudo apt install ghostscript

pdf2ps -sOutputFile=input1file%d.ps input1file.pdf input1file.ps # cut to individual pages
pdf2ps -sOutputFile=input2file%d.ps input2file.pdf input2file.ps
psmerge -oinput.ps *.ps # put them together page by page from the alternative files
pstops -p a4 "2:[email protected](21cm,0)[email protected](21cm,14.85cm)" input.ps output.ps # put 2 pages on one
ps2pdf output.ps output.pdf # convert back to pdf

May be you will appreciate that. I like it because it is small and fast, but the man pages need improvement. :-(

Share:
10,907

Related videos on Youtube

nnn
Author by

nnn

Updated on September 18, 2022

Comments

  • nnn
    nnn over 1 year

    I have got two pdf files with same number of pages and want compare each page with the corresponding page in the other file. For this I would like to merge say page 1 of File1.pdf with page 1 of File2.pdf so it gets one page in the new document. Then page 2 of File1.pdf with page 2 of File2.pdf and make it page 2 of the new file.

    In this question I learned already that I can put two pages on one page with the --nup option of the pdfjam command:

    pdfjam File1.pdf File2.pdf --nup 2x1 --landscape --outfile File1+2.pdf
    

    The same can be achieved with the ImageMagick package:

    montage *.pdf merged.pdf
    

    But this puts together page 1 and page 2 of the first file and does the same later on with the second file - not as intended.

    What I did is to split the two documents. The first file got even numbers in the file name, the second odd numbers (actually I created the files anew with appropriate file names). Then I merged all files again with

    pdftk *.pdf cat output merged.pdf
    

    and finally put two pages on one with

    pdfjam --nup 2x1 --landscape --outfile merged2up.pdf merged.pdf
    

    I could write a script with a loop doing this, but I was wondering whether there is an easy one-liner to achieve this? Maybe I didn't find the right pdfjam, pdftk or ImageMagick command?

    • arcticmac
      arcticmac about 8 years
      Still two commands, but my pdftk has a "shuffle" option, which looks like it would allow you to merge the two documents with alternating pages without needing to first split them to individual pages. At that point, many PDF viewers have an option to show two pages at once side by side, so you might not even need the "N up" operation at that point.
  • Vylix
    Vylix over 6 years
    Can you explain how to use this software? Giving link only is only a half-way solution. And you don't even link to where the software is located at. Please consider to expand your answer with the essential info.
  • Stefan Endrullis
    Stefan Endrullis almost 6 years
    Thanks for this solution. However, the merged file is not really size optimized. In my case it's nearly 100 times bigger than the source files. Does someone know how to reduce the size of the merged file?
  • user541686
    user541686 about 5 years
    @StefanEndrullis: For me it's smaller than the sum of the individual sizes... I suspect it'd PDF-dependent.
  • ferada
    ferada over 3 years
    I looked through a lot of answers and this is one that's fast and doesn't seem to mess up the contents, I like it.
  • Jiri B
    Jiri B almost 3 years
    I had to use pdf2ps file1.pdf output-%04d.file1.ps and psjoin *.ps > /tmp/out.ps. Solution with pdfseparate and pdfjam is better.
  • seralouk
    seralouk almost 3 years
    great answer. thanks