===== How to test PPD files ===== ==== savaspool.sh ==== Download and install [[https://www.savapage.org/download/PPD/savaspool.sh|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: * Spoolfiles are created as ''/path/to/basefilename*.*'' * Print job Information is written to ''/path/to/savaspool.log'', with: * Spoolfile path. * CUPS Job ID, User, Title and number of copies. * PPD job options * Spooling start and finish time. 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 [[https://ghostscript.com/doc/current/History9.htm|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.