Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

cups-pdf-postprocess

  • Radek Hušek's avatar
    Radek Hušek authored
    13e40c12
    History

    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.conf to /etc/cups/ 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.

    Syntax is of printers section ("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.py

    NOTE: Ubuntu requires modifying AppArmor settings to allow cups-pdf to execute this script by adding something like

      /path/to/cups-pdf-postprocess-your-wrapper.py ux,

    into cups-pdf profile.

    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.