CUPS pdf postprocess
This is a simple utility acting as postprocesor of cups-pdf virtual printer.
Requirements
-
Python 3 (should be trivial to modify for Python 2)
-
PyQt5
Setup
This script can be use either directly (e.g. via context menu) or through cups-pdf.
First copy file cups-pdf-postprocess.sh
and edit it for your needs. When invoked by
cups, the script does not have any knowledge about running X, so you have to
set atleast DISPLAY
(and probaly also XAUTHORITY
) variable. Also you can specify
list of your custom printer in here-document at end of file.
Syntax is ("name of printer", ["command", "first argument"]),
(it will be
interpreted as part of Python list literal). There will be appended aditional
lp
-like parameters when acually executing command.
To use it through cups, install pdf-cups, setup a new virtual printer and
then modify /etc/cups/cups-pdf.conf
:
PostProcessing /path/to/cups-pdf-postprocess-your-wrapper.sh
WARNING: The script does not delete printed files, so files printed through cups-pdf
will stay where they were printed to (default path is /var/spool/cups-pdf/${USER}
).
It is up to you to delete them when needed. Easy way to do so might be to move
cups-pdf output directory to /tmp
so it gets deleted on each restart.
To add the script into context menu soft-link cups-pdf-postprocess-your-wrapper.desktop
into appropriate place for your desktop enviroment (in case of KDE4 this is
~/.kde4/share/kde4/services/ServiceMenus
). You may need to copy it and fix path
to shell wrapper.