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

  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer
  • Cisco CME How To Configure SIP Trunk VOIP
  • Virtualbox host Only Network Error Failed to save host network interface parameter - Cannot change gateway IP of host only network
  • Cisco CME and C7200 Router Testing and Learning Environment on Ubuntu 20+ Setup Tutorial Guide
  • Abusive IP ranges blacklist
  • How to Install Any OS on a Physical Drive from Windows Using VMware Workstation (Linux, Windows, BSD)
  • CDN Cloudflare how to set and preserve the real IP of the client without modifying application code on Apache
  • CentOS 7 fix Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was 14: curl#6 -