Scaling PDF content and page dimensions from command line

17

4

I have a set of images stored as separate PDF files. One image per file. Each image takes up one PDF page.

I need to re-scale all of these images, preferably at the command line, so that the image content and the page dimensions of the PDFs are both scaled relative to their original sizes/dimensions. For example: scale all the images by 50% should shrink the size of the image and the dimensions of the page.

Already tried:

  • pdfpages + latex: will re-scale the image but dimensions of the pages stay the same.
  • pdfjam: same problem; can re-scale but page dimensions want to be letterpaper or a4.
  • convert (imagemagick): converts to raster, which I don't want.
  • ghostscript: seems to scale based on absolute new page size, and I need relative page size.

I know one of these must work. I can't figure out where I've gone wrong. I'm on Mac but a Linux solution would work just as well.

serenader

Posted 2013-11-14T19:41:58.117

Reputation: 431

Answers

16

I think I found one: http://community.coherentpdf.com/

cpdf -scale-page "0.5 0.5" in.pdf -o out.pdf

serenader

Posted 2013-11-14T19:41:58.117

Reputation: 431

1Yes thanks. I use cpdf -scale-to-fit "210mm 210mm" in.pdf -o out.pdf and it works great – maxbellec – 2017-02-22T10:25:16.890

2

could not find cpdf in ubuntu repos but for me pdfjam as per this answer did the trick.

– cardamom – 2017-08-28T11:15:34.483

I used pdfposter as per this answer.

– olivieradam666 – 2018-06-12T08:49:19.147

Thanks, this is a magical tool! – Autodidact – 2019-07-20T21:24:00.143

1

pdfjam works for this.

pdfjam --outfile out.pdf --paper a5paper in.pdf

Martin Monperrus

Posted 2013-11-14T19:41:58.117

Reputation: 1 305

0

I also had a problem finding a tool that can do something like that; I want to change page size of and rotate a PDF document, but without scaling contents. And I just realized pdfedit (which is a GUI tool, however), can do it:

  • After the document is opened, go to Page/"Edit page metrics", and then edit the x,y positions of left upper/right lower corners, and then Change.
  • After that, can go to Page/"Rotate page 90 Degrees"

Note that:

sdaau

Posted 2013-11-14T19:41:58.117

Reputation: 3 758