Cannot Print PDF Solution and Howto Resize

If you can print other PDFs but not a particular one it is very likely that the PDF size is A4 (the longer, skinnier Asian paper size) instead of the North American letter size ( 8.5" x 11").  This breaks printing in most cases.  Or it may print if you find a program that ignores the size issue.

Here is an example of an A4 being rejected by a printer in Ubuntu Linux via CUPS

Cannot print PDF CUPS Samsung C460:

Processing - Remote host did not accept data file (104).

I tried ImageMagick's convert but it did not work properly., the resulting output was either too small and too fuzzy.  Increasing density also has the effect of making the PDF smaller and more distorted.  Eg. a density of 300 vs 72 produces a smaller file size.

convert thefile.pdf -density "300" -resize "2550x3300" thefile-lettersize.pdf

convert thefile.pdf -units pixelsperinch -density 72 -page letter thefile-lettersize.pdf

The Solution - gs ghostscript to the rescue

the gs binary (ghostscript) is what fixed it using the command below.

  gs -o outputfile.pdf -sDEVICE=pdfwrite -dPDFFitPage -r72x72 -g2550x3300 sourcethefile.pdf

All you need to change is the -o outputfile.pdf (to the path of your outputfile) and change "sourcethefile.pdf" to the pdf that you want to resize. 

-r72x72 means 72 dpi.  You can change it to whatever you like but 72 works best.  In fact just like with ImageMagick when working with PDFs, a higher DPI actually creates a distorted, small pixelated result.

Bash Script to resize all .pdf's in the current dir to 8.5x11

The script just appends the name -85x11 to the original to all  PDF files in the current directory. 

for sourcefile in `ls -1 *.pdf`; do
      gs -o $sourcefile-85x11.pdf -sDEVICE=pdfwrite -dPDFFitPage -r72x72 -g2550x3300 $sourcefile
done


Tags:

pdf, howto, resizeif, pdfs, skinnier, asian, quot, printing, ignores, rejected, printer, ubuntu, linux, via, cups, samsung, processing, imagemagick, convert, resulting, output, fuzzy, increasing, density, distorted, eg, vs, produces, thefile, resize, lettersize, pixelsperinch, gs, ghostscript, binary, outputfile, sdevice, pdfwrite, dpdffitpage, sourcethefile, dpi, creates, pixelated,

Latest Articles

  • CentOS 7 / 8 cannot boot with with mdadm RAID array solution
  • How To Add Default Gateway in Linux using the ip route command routing
  • Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist Solution for Centos8 yum package install error
  • md mdadm array inactive how to start and activate the RAID array
  • Loaded: masked (Reason: Unit hostapd.service is masked.) Solution in Linux Debian Mint Ubuntu
  • Linux Mint Ubuntu Ubiquity Installer Bug EFI Installed To Wrong Partition Solution
  • Libreoffice Impress How To Change The Color of Links
  • ecryptfs How To Backup / Migrate Linux Mint Ubuntu Debian system ecryptfs properly and restore access
  • i915 nouveau Nvidia GPU not starting lightdm Xorg failing solution for Could not determine valid watermarks for inherited state
  • br0: received packet on bond0 with own address as source address Linux Solution Mint Debian Redhat CentOS bridge bridging
  • Debian Mint Ubuntu Howto Disable Network Manager
  • AMD GPU Xorg Won't Start [3576284.324] (EE) Segmentation fault at address 0x0 [3576284.325] (EE) Fatal server error: [3576284.325] (EE) Caught signal 11 (Segmentation fault). Server aborting
  • symbol 'grub_calloc' not found grub boot error solution / fix
  • /var/log/journal huge/too large solution in Debian Mint Ubuntu Linux Howot Fix
  • Libreoffice Calc Opens CSV Spreadsheet File as Asian Language/Chinese Characters Solution Fix
  • RTL8821AU Setup Configure Wifi Realtek 8821 in Linux Debian Mint Ubuntu Howto
  • How To Tell Which Repository a Package Comes From Debian Mint Ubuntu
  • How To Reload All Kernel Modules And List Required Moduels for Each Device - Linux Mint Debian Ubuntu Troubleshooting
  • Debian Ubuntu Mint How To Change Default Display Manager
  • Ubuntu Mint Debian Howto Execute Command / Script / Program Upon Wakeup From Sleep