On 2023-09-17, Greg Marks <gtma...@gmail.com> wrote: > > I am trying to use Ghostscript to resize PDF files to letter page size, > but on certain files the output is not the correct size. As an example: > > $wget https://gmarks.org/abrams_anh_pardo.pdf > > $pdfinfo abrams_anh_pardo.pdf=20 > ... > Page size: 539 x 737 pts > ... > > $gs -o resized_file.pdf -sDEVICE=pdfwrite -dFIXEDMEDIA -dPDFFitPage -d > DEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dBATCH -dSAFER abrams_a > nh_pardo.pdf > > $pdfinfo resized_file.pdf=20 > ... > Page size: 579.224 x 792 pts > ... > It appears the output of pdfwrite has a MediaBox of 612x792 but a CropBox of 595.61x792, which must be the result of scaling A4 down to Letter and centering that scaled down area on the page.
curty@einstein:~$ pdfinfo -box resized_file.pdf <snip> Page size: 579.224 x 792 pts Page rot: 0 MediaBox: 0.00 0.00 612.00 792.00 CropBox: 16.39 0.00 595.61 792.00 BleedBox: 16.39 0.00 595.61 792.00 TrimBox: 16.39 0.00 595.61 792.00 ArtBox: 16.39 0.00 595.61 792.00 File size: 26538 bytes Optimized: no PDF version: 1.7 I'm unaware of another way of "fixing" this but the following kludge (unless you can tell your printing process to use MediaBox and ignore CropBox). sed -e "/CropBox/,/]/s#.# #g" resized_file.pdf curty@einstein:~$ pdfinfo -box resized_file.pdf <snip> Page size: 612 x 792 pts (letter) Page rot: 0 MediaBox: 0.00 0.00 612.00 792.00 CropBox: 0.00 0.00 612.00 792.00 BleedBox: 0.00 0.00 612.00 792.00 TrimBox: 0.00 0.00 612.00 792.00 ArtBox: 0.00 0.00 612.00 792.00 File size: 26538 bytes Optimized: no PDF version: 1.7