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

  • QEMU-KVM soundhw deprecated how to enable sound in QEMU 4.x series
  • Virtualbox Error Cannot register the hard disk because a hard disk with UUID already exists solution
  • kernel: [549267.368859] mate-terminal[7871]: segfault at 2000000101 ip 00007f5d0a9548f0 sp 00007fff7012c610 error 4 in libgobject-2.0.so.0.4800.2[7f5d0a920000+52000]
  • apcupsd how to setup and monitor APC UPS units
  • How To Password Reset, Recover, Bypass, Remove and Unlock on Windows 10,8,7,Vista,XP,NT,2000,2003,2008,2012,2016,2019 Administrative Login Programs
  • Nvidia Ubuntu Linux Screentearing Video with solution driver
  • ?? Question Marks for time, permissions and size of a file?
  • mdadm how to stop a check
  • access denied by acl file qemu-kvm: bridge helper failed
  • Linux NIC connecting at 100M instead of 1000M gigabit speeds? It could be overheating
  • "This kernel requires the following features not present on the CPU: cmov Unable to boot - please use a kernel appropriate for your CPU.
  • http://vault.centos.org/5.9/os/i386/repodata/filelists.xml.gz: [Errno -1] Metadata file does not match checksum solution
  • Linux Ubuntu Wifi Disabled Only Works When Laptop Plugged Into Wall AC Power
  • CentOS 6 impossible to compile a newer libguestfs
  • chroot
  • How To Get Started on Ubuntu with gpt-2 OpenAI Text Prediction
  • Remove cloud-init in your VM
  • QEMU-KVM KVM Command Line Practical Guide
  • Linux How To Change NIC Name to eth0 instead of enps33 or enp0s25
  • virt-resize: error: libguestfs error: could not create appliance through libvirt.