Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set the physical size of PDF pages with Ghostscript?

I want to convert a bunch of .eps images to a single PDF using Ghostscript.

But when I look at the PDF file in a PDF viewer and set view to 100% to physical size of the file is huge!

I would like to force gs to create the PDF in letter size, but everything I tried failed. Here's the command I'm using:

gs -dBATCH -dNOPAUSE -dEPSFitPage -dEPSCrop \
   -q -sDEVICE=pdfwrite -sOutputFile=out.pdf \
    file1.eps file2.eps

All my attempts with -sPAPERSIZE=legal and -dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=h had no effect.

like image 814
Tickon Avatar asked Nov 30 '25 04:11

Tickon


2 Answers

-dEPSFitPage and -dEPSCrop are mutually exclusive. Try getting rid of the -dEPSCrop and putting back -sPAPERSIZE=legal. If that doesn't work, it is probably because the .eps file is over-riding the media, so try adding -dFIXEDMEDIA.

BTW, this answer is cribbed from: Fit to page size in ghostscript (with a possibly corrupt input)

like image 171
Joshua D. Boyd Avatar answered Dec 02 '25 18:12

Joshua D. Boyd


The problem was -dEPSFitPage it was fitting the page size to the .eps file size... using -dPDFFitPage (and skipping the mutually exclusive -dEPSCrop) solved my problem.

gs -dBATCH -dNOPAUSE -sPAPERSIZE=letter \
   -dPDFFitPage -q -sDEVICE=pdfwrite \
   -sOutputFile=out.pdf \
    file1.eps file2.eps
like image 29
Tickon Avatar answered Dec 02 '25 18:12

Tickon