Table of Contents

How to test PPD files

savaspool.sh

Download and install savaspool.sh on your SavaPage server.

Installation instructions are found in the header of the savaspool.sh file.

Create a CUPS printer with the savaspool:/path/to/basefilename Device-URI and the PPD to be tested:

Spool files can be saved as reference for all kind of test cases, so they can be raw printed to the actual printer type/model, like this:

# Linux
lpr -P printername -l spoolfile
# This is equivalent to:
lpr -P printername -o raw spoolfile
; Windows
copy spoolfile "\\{Server Name}\\{Printer Share Name}"

lpr

lpr submits files for printing. Files named on the command line are sent to the named printer or the default destination if no destination is specified. If no files are listed on the command-line, lpr reads the print file from the standard input.

# Use the -o option to set PPD job options. For example:
lpr -P my-printer -o Duplex=None -o Collate=True sample.pdf

ipptool

ipptool sends IPP requests to the specified printer-uri and tests and/or displays the results. It is meant for IPP developers. Read the man pages for more information.

sudo apt install cups-ipp-utils
man ipptool
man ipptoolfile
# Get printer attributes of my-printer using get-printer-attributes
# (other sample .test files are located in /usr/share/cups/ipptool/)
ipptool -X ipp://localhost:631/printers/my-printer /usr/share/cups/ipptool/get-printer-attributes.test 

Troubleshooting

# Inspect CUPS logging
cd /var/log/cups
sudo view error_log
sudo view access_log
# Find driver messages, e.g. for "foomatic"
sudo dmesg -T | grep foomatic

History of Ghostscript Versions 9.xx

Printer Firmware

If same CUPS, Ghostscript and PPD versions leads to different results on different printers, check printer firmware versions.