I've been bashing my head against this to no avail.
I need to shrink some large PDFs to print on an 8.5x11 inch (standard letter) page. Can imagemagick/ghostscript handle this sort of thing, or am I having so much trouble because I'm using the wrong tool for the job?
Just relying on the 'shrink to page' option in client-side print dialogs is not an option, as we'd like for this to be easy-to-use for the end users.
-
ImageMagick's mogrify/convert commands will indeed do the job. Stephen Page had just about the right idea, but you do need to set the dpi of the file as well, or you won't get the job done.
Assuming you have a file that's 300 dpi and already the same aspect ratio as 8.5 x 11 the command would be:
// 300dpi x 8.5 -2550, 300dpi x 11 -3300 convert original.pdf -density "300" -resize "2550x3300" resized.pdfIf the aspect ratio is different, then you need to do some slightly trickier cropping.
-
The problem with using ImageMagick is that you are converting to a raster image format, increasing file size and decreasing quality for any vector elements on your pages.
Multivalent will retain the vector information of the PDF. Try:
java -cp Multivalent.jar tool.pdf.Impose -dim 1x1 -paper "8.5x11in" myFile.pdfto create an output file myFile-up.pdf
ceejayoz : Oooh, I will try that out. Thank you!Joe Koberg : Turns out the latest version of this software does not include the pdf tools! You must find and use the Multivalent20060102.jar file. -
I would not use
convert. It uses Ghostscript in the background, but is much slower. I'd use Ghostscript directly, since it gives me much more direct control (and also some control over settings which are much more difficult to achieve withconvert). And for convert to work for PDF-to-PDF conversion you'll have Ghostscript installed anayway:gs \ -o /path/to/resized.pdf \ -sDEVICE=pdfwrite \ -dPDFFitPage \ -r300x300 \ -g2550x3300 \ /path/to/original.pdf
0 comments:
Post a Comment