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

  • Linux Ubuntu Cannot Print Large Images
  • Cannot Print PDF Solution and Howto Resize
  • Linux Console Login Screen TTY Change Message
  • Apache Cannot Start Listening Already on 0.0.0.0
  • MySQL Bash Query to pipe input directly without using heredoc trick
  • CentOS 6 and 7 / RHEL Persistent DHCP Solution
  • Debian Ubuntu Mint rc-local service startup error solution rc-local.service: Failed at step EXEC spawning /etc/rc.local: Exec format error
  • MySQL Cheatsheet Guide and Tutorial
  • bash script kill whois or other command that is running for too long
  • Linux tftp listens on all interfaces and IPs by DEFAULT Security Risk Hole Solution
  • python import docx error
  • Cisco Unified Communications Manager Express Cheatsheet CUCME CME
  • Linux Ubuntu Debian Missing privilege separation directory: /var/run/sshd
  • bash how to count the number of columns or words in a line
  • bash if statement how to test program output without assigning to variable
  • RTNETLINK answers: Network is unreachable
  • Centos 7 how to save iptables rules like Centos 6
  • nfs tuning maximum amount of connections
  • qemu-kvm error "Could not initialize SDL(No available video device) - exiting"
  • Centos 7 tftpd will not work with selinux enabled