Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add margin to PDF file when merging using PDFTK or similar

I have a large collection of half-page sized PDF cut-sheets that are held in a folder on my Linux server. A user to the site will want to create a booklet from a subset of these. The booklet will be bound therefore the even pages of the collection will want more margin on the right side and the odd pages will want more margin on the left side. There can be up to 200 pages in a collection out of a universe of 500 pages so I don't want to regenerate each page to set the margin of it. It would take too much of the servers time to run the content through the DOMPDF. Just building the document using PDFTK is fast.

I'd like to merge the document with PDFTK from a centered PDF file and add the appropriate margin for the odd or even page.

If not PDFTK then is there another tool that might do the job?

like image 462
Bob Brunius Avatar asked Apr 22 '13 23:04

Bob Brunius


2 Answers

If you use ubuntu, you can install pdfcrop:

sudo apt-get install -y pdfcrop

Despite its name, pdfcrop has the option to add margins:

pdfcrop --margin '29 0 29 0' input.pdf output.pdf

(Note: the unit is bp. 72 bp = 1 inch. 29 bp is approximately 1 cm.)

Then, use pdfjam to do the offset trick for the right and left pages.

pdfjam --twoside --offset '1cm 0cm' file.pdf

Note: pdfcrop does have problems with some pdf files. (!!! Error: Ghostscript exited with error code 139!).

like image 79
Hieu Avatar answered Oct 19 '22 23:10

Hieu


If you are still interested in this, you should have a look at pdfjam which allows you to offset and clip pdfs. With respect to your particular question you might do something like

pdfjam --twoside --offset '2cm 0cm' file.pdf

This shifts the even pages 2cm to the right and the odd one to the left.
pdfjam is a front end to the pdfpages package of pdflatex.

like image 26
Jakob Avatar answered Oct 19 '22 23:10

Jakob