Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to join multiple PDF pages to a single Page

I have a PDF with 4 pages. I want to create another PDF where the pages are positioned one after the another (Vertical aligment) in a single page. Which commandline tool can be used for that?

like image 789
user567879 Avatar asked Apr 20 '13 11:04

user567879


2 Answers

there are several ways to perform this task, one easier, one harder


The EASIER: A MULTIVALENT.JAR WAY

Multivalent.jar is a stunning piece of free software able to perform many useful tasks on pdf

you can download from one of these links (the 2009 multivalent.jar build available on sourceforge has no more pdf tools inside)

  • https://rg.to/file/c6bd7f31bf8885bcaa69b50ffab7e355

  • you need to know the width and height of your pdf (in Linux you can use pdfinfo)


  • assuming your multipage pdf is in ISO A4 size (21x29.7cm), type:

java -cp path..to/Multivalent.jar tool.pdf.Impose -dim 4x1 -paper 84x29.7cm input.pdf


this is the resulting page, composed by the 4 sequential pages stitched side by side together:

4_pdf_pages_appended_side_by_side

  • resulting pdf file http://ge.tt/98Kv4ce/v/0

explication:

-dim 4x1 means number of columns for rows

-paper 84x29.7cm means paper size of your final imposed document containing the 4 pages joined side by side. obviously, since in your final pdf file, you will have 4 columns and only one row, you need to multiply by 4 the document witdh (21 cm)

multivalent can accept, as unity input, also inches (-paper 33.4x11.68in) or postscript points (-paper 2380x841pt)



THE HARDER: A LATEX WAY:

4_pdf_pages_appended_side_by_side

some years ago, Peter Flynn, in comp.text.pdf suggested, for a similar task, a way to appending pdf pages side by side with the only help of LateX. If you are a LaTeXian, you can act as follows:

since you need to append side by side the four pages of your single multipage pdf, you will write a latex preamble, creating a new document like this:

assuming your pdf document has name input.pdf and its size is ISO A4, and you have this multipage pdf in your working folder, you will have

\documentclass[a4paper]{article}
\usepackage[margin=0mm,nohead,nofoot]{geometry}
\usepackage{pdfpages}
\pagestyle{empty}
\parindent0pt
\begin{document}
\includepdfmerge[nup=1x4,landscape]{input.pdf,1,input.pdf,2,input.pdf,3,input.pdf,4}
\end{document}
like image 194
Dingo Avatar answered Oct 08 '22 12:10

Dingo


If you use a Unix-like operating system, there is pdfjam, which combines the Latex backend with an easy command:

pdfjam --nup 1x4,landscape input.pdf

EDIT: recently I had issues with pdfjam with that exact command. I had it working with:

cat input.pdf | pdfjam -nup 1x4 -landscape –outfile out.pdf

like image 21
Foxhole Avatar answered Oct 08 '22 13:10

Foxhole