.. /* * This file is part of the SavaPage project . * Copyright (c) 2026 Datraverse B.V. * Author: Rijk Ravestein. * * SPDX-FileCopyrightText: (c) 2020 Datraverse B.V. * SPDX-License-Identifier: CC-BY-SA-4.0 * * For more information, please contact Datraverse B.V. at this * address: info@datraverse.com */ .. _ch-webapp-admin-proxyprinters: Proxy Printers -------------- .. contents:: |RST_TABLE_OF_CONTENTS| :depth: 2 :local: .. _ch-webapp-admin-proxyprinter-list: |PROXYPRINTER| List ~~~~~~~~~~~~~~~~~~~ After a *tap* on the |RST_BUTTON_PROXY_PRINTERS| button in the main menu this panel is shown. See :ref:`Menu `. SavaPage automatically detects CUPS printer queues, and uses their unique name to replicate corresponding Proxy Printers in its database. When a printer queue is deleted in CUPS it is real-time detected by |PRODUCT_NAME|, and as a result the corresponding |PROXYPRINTER| is marked as *not present*. Proxy Printers which are *not present* are hidden in the User Web App, so they cannot be used for printing. When a printer queue is renamed in CUPS, two events occur in |PRODUCT_NAME|. First, the new name is detected as a new |PROXYPRINTER|, and second, the |PROXYPRINTER| with the old name is detected as a deleted CUPS queue. Proxy Printers which are not present anymore can either be *deleted* or :ref:`renamed `. SavaPage selects *local* CUPS printer queues by default. This is a sensible policy since local CUPS queues are able to connect to locally attached printers (USB, LPT) or network enabled printers. However, in some odd cases you might want to proxy print to a *remote* CUPS queue, i.e. a queue shared by another machine. In that case you can set the value of the ``cups.ipp.remote-enabled`` config item to ``Y``. See |RST_LINK_CONFIG_EDITOR| on how to change this value. .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-list-header.png :alt: Admin Web App: Proxy Printer - List Header :width: 400 Admin Web App: Proxy Printer - List Header - The |RST_BUTTON_CUPS| button is shown when the browser points to “localhost”, “127.0.0.1”, a “.local” address, or to the intranet IP address of the SavaPage server, and host port matches the configured SavaPage port. Click the button to open the :ref:`CUPS Administration web page ` in a new browser tab. - Click the |RST_BUTTON_SYNCHRONIZE| button to synchronize all CUPS printer options to |PRODUCT_NAME|. Since SavaPage does not detect changed CUPS printer defaults, PPD driver and :ref:`PPD Extension File ` content (yet), you need to perform this action after you change any of these parameters. - The |RST_BUTTON_STATUS| button is shown if :ref:`Printer SNMP ` is enabled. Push the button to refresh toner and printer state information for all printers. .. _ss-admin-proxyprinter-list: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-list-items-1.png :alt: Admin Web App: Proxy Printer - List Items :width: 400 Admin Web App: Proxy Printer - List Items - All non-deleted Proxy Printers are listed alphabetically by default. A different selection and sorting can be entered: see :ref:`Admin Web App: Proxy Printer - Select and Sort `. - The list can be traversed by tapping one of the buttons at the *pager* at the top or bottom of the page. - An entry is displayed for each |PROXYPRINTER|, with several identifying and usage data. Two sample items are show above (not all data apply). Possible items are, from top to bottom: - The |PROXYPRINTER| status (at the top right corner). - The display name (alias) of the printer as shown to the user. - An inline pagometer Pie-Chart followed by the CUPS printer name, URI and PPD driver name. - The *red* color in the chart represents the number of *pages* printed. The *orange* color represents the number of printed *sheets*. - A double-click on the CUPS *printer* name downloads a text file with detailed printer properties, and is used by |PRODUCT_NAME| developers and administrators to debug PPD to IPP mapping issues. - The PPD Extension File configured in the :ref:`Proxy Printer Edit Dialog ` is shown in green: a double-click on its name will download the PPDE file. See :ref:`PPD Extensions ` and :ref:`IPP Extensions `. - A double-click on the PPD *driver* name downloads the CUPS PPD file. - In case of a :ref:`Raw Print ` the configured PPD File and (optional) PDL Transform File are shown: a double-click on their name will download the file. - If :ref:`Printer SNMP ` is enabled, the toner and status information. Click on the icon at the most right to refresh this information. If the printer is marked as *not present*, this information is not shown. - The :ref:`Printer Groups ` this |PROXYPRINTER| is member of. - The :ref:`User Groups ` for which access is allowed or denied. See :ref:`printerAccessControl `. - An inline Line-Graph showing the day pagometers of the printed pages over the last 30 days. - An optional red colored “Configuration needed” tag, to remind you to configure at least one (1) of the printer's :ref:`Media Sources `. If the printer is marked as *not present*, configuration information is not shown. If marked as *disabled*, configuration information is colored in orange. - The period in which activity was accumulated on the pagometer. - The pagometer of the |PROXYPRINTER| including the number of jobs, sheets and bytes printed. - Tap the |RST_BUTTON_EDIT| button to edit the entry. Proxy Printers which are present in CUPS can be edited: see :ref:`Admin Web App: Proxy Printer - Edit - Identity `. Proxy Printers that are *not* present in CUPS can also be *deleted* or *renamed*: see :ref:`Admin Web App: Proxy Printer - Rename ` - The |RST_BUTTON_LOG| button brings you to the list of documents printed to the |PROXYPRINTER|. See :ref:`Admin Web App: Document - List ` - The |RST_BUTTON_HOME| button is shown under the same condition as the |RST_BUTTON_CUPS| button. Click to open the :ref:`CUPS Administration web page ` for the printer in a new browser tab. .. note:: Due to :ref:`Admin Privileges ` certain buttons might *not* be visible. .. important:: :name: ss-admin-proxyprinter-list-cups The CUPS Administration web page must be accessible as explained in :ref:`Step 3 - Configure CUPS and Samba `. When CUPS authentication is required you can log in with user name ``root`` or with a user name that belongs to the admin group. .. tip:: The pagometers of all Proxy Printers can be reset at :ref:`Options > Advanced > Reset Pagometers ` Each |PROXYPRINTER| in the list is marked with a *primary* icon: .. table:: Primary Printer Icons :width: 100% +-----------+--------------------------------------------------------------------------------------------------+ | |image33| | A non-secure |PROXYPRINTER| that **anyone** can print to. | + +--------------------------------------------------------------------------------------------------+ | | - See :ref:`Proxy Print Options `. | +-----------+--------------------------------------------------------------------------------------------------+ | |image34| | A non-secure |PROXYPRINTER| that **no one** can print to. | + +--------------------------------------------------------------------------------------------------+ | | - See :ref:`Proxy Print Options `. | +-----------+--------------------------------------------------------------------------------------------------+ | |image35| | A secured |PROXYPRINTER| whose jobs needs to be authorized with | | | | | | a NFC Card swipe on a Network Card Reader. | + +--------------------------------------------------------------------------------------------------+ | | - See :ref:`Proxy Print Authentication`. | | | - A referral to the Reader and the enabled release functions are shown in the list item. | +-----------+--------------------------------------------------------------------------------------------------+ | |image36| | A |PROXYPRINTER| that can only be used from certain Terminals. | + +--------------------------------------------------------------------------------------------------+ | | - See :ref:`Custom Proxy Print `. | +-----------+--------------------------------------------------------------------------------------------------+ | |image37| | A |PROXYPRINTER| that can only be used from certain Terminals. | + +--------------------------------------------------------------------------------------------------+ | | - On other terminals a print to the |PROXYPRINTER| need to be authorized | | | | | | with a NFC Card swipe on a Network Card Reader. | +-----------+--------------------------------------------------------------------------------------------------+ | |image38| | A |JOBTICKETPRINTER|. | + +--------------------------------------------------------------------------------------------------+ | | - See :ref:`Proxy Printer Identity `. | +-----------+--------------------------------------------------------------------------------------------------+ When applicable, the following *secondary* icons are shown: .. table:: Secondary Printer Icons +-----------+---------------------------------------------------------------------+ | |image39| | A PaperCut Managed Printer. | +-----------+---------------------------------------------------------------------+ | | - See :ref:`PaperCut Integration `. | +-----------+---------------------------------------------------------------------+ | |image40| | |PRINT_ARCHIVE| enabled. | +-----------+---------------------------------------------------------------------+ | | - See :ref:`Print Archive `. | +-----------+---------------------------------------------------------------------+ | |image41| | |PRINT_JOURNAL| enabled. | +-----------+---------------------------------------------------------------------+ | | - See :ref:`Print Journal `. | +-----------+---------------------------------------------------------------------+ .. _ch-webapp-admin-proxyprinter-snmp: Printer SNMP ^^^^^^^^^^^^ SavaPage can use the SNMP protocol to query information about networked printers, like type/model, serial number, toner and operation status. SNMP is disabled by default. Use the configuration items below to enable and set operational properties. If SNMP is enabled, printer data are read automatically at the daily maintenance cycle at 55 minutes past midnight. See :ref:`Daily Maintenance `. .. list-table:: Configuration Properties for Printer SNMP :width: 100% :widths: 30 70 :header-rows: 1 * - Configuration property - Description * - printer.snmp.enable - Enable SNMP: ``Y`` or ``N`` (default). * - printer.snmp.read.trigger-mins - Number of minutes since last printer print which a next print triggers a new SNMP read of printer data. Default: ``240`` * - printer.snmp.read.retries - Number of retries after SNMP read failure. Default: ``2`` * - printer.snmp.read.timeout-msec - SNMP read timeout in milliseconds. Default: ``1500`` * - printer.snmp.marker.percent.warn - *reserved for future use* * - printer.snmp.marker.percent.alert - *reserved for future use* See |RST_LINK_CONFIG_EDITOR| on how to set these items. .. important:: Avahi must be installed to retrieve the hostname of CUPS printers whose URI refers to a :ref:`DNS-SD instance ` (``dnssd://`` scheme) in order to establish an SNMP connection. See :ref:`Avahi `. Ensure that DNS-SD (Bonjour) is enabled on these printer devices and that IPP printing has the highest priority. Without these settings, SavaPage cannot trace the host name required for SNMP queries. For example: in the web interface of an HP printer, enable Bonjour and set “Bonjour Highest Priority Service” to “IPP Printing”. .. tip:: Use Server Command :ref:`printerSnmp ` to SNMP query any printer available in the network. .. _ch-webapp-admin-proxyprinter-archive: |PRINT_ARCHIVE| ^^^^^^^^^^^^^^^ The Print Archive is the ``doc.store.archive.out.print`` branch of the :ref:`Document Store `. It must explicitly be enabled. .. _ch-webapp-admin-proxyprinter-journal: |PRINT_JOURNAL| ^^^^^^^^^^^^^^^ The |PRINT_JOURNAL| is the ``doc.store.journal.out.print`` branch of the :ref:`Document Store `. It must explicitly be enabled. .. _ch-webapp-admin-proxyprinter-dnssd: DNS-SD Printers ^^^^^^^^^^^^^^^ Printers that advertise themselves via `DNS-SD `__ (also known as Bonjour / Zeroconf) are *not* automatically part of CUPS. You can easily check: printer *devices* that show up with the ``lpinfo -v`` command do not show up as printer with the ``lpstat -v`` command. Add your DNS-SD printers in CUPS by selecting them there from the list of “Discovered Network Printers”. Make sure to select a Model that uses CUPS filtering and is compatible with your printer. Do *not* select an IPP Everywhere variant as Model, as this will give you a "Local Raw Printer" throughput without filtering and print job options, which is unusable for |PRODUCT_NAME|. .. tip:: Placing your DNS-SD printers in a VLAN, which only the |PRODUCT_NAME| server can access, prevents these printers from advertising themselves on user devices. If you subsequently add these DNS-SD printers in CUPS, users are forced to use them as Proxy Printer in the controlled environment of the SavaPage User Web App. .. _ch-webapp-admin-proxyprinter-cups-printer-class: CUPS Printer Class ^^^^^^^^^^^^^^^^^^ A CUPS Class is a group of printers. When printing to it, CUPS will redirect the job to one of the printer members. Which printer would depend on user rights or which printer currently is available. A CUPS Class appears as a regular |PROXYPRINTER| in the list: the number of member printers is enclosed in parenthesis, just after its CUPS name. For CUPS class members, the CUPS classes to which they belong are shown in parentheses. .. important:: SavaPage requires that CUPS Class members all have the same PPD. .. _ch-webapp-admin-proxyprinter-list-select-sort: Select and Sort ^^^^^^^^^^^^^^^ .. _ss-admin-proxyprinter-select-and-sort: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-select-and-sort.png :alt: Admin Web App: Proxy Printer - Select and Sort :width: 400 Admin Web App: Proxy Printer - Select and Sort - Proxy Printers can be selected by entering a fragment of their CUPS or display Name. So, entering "Xe" will select both "Xerox AltaLink" and "Xerox D110". - Select a |RST_GUILABEL_STATUS|, |RST_GUILABEL_MODE|, |RST_GUILABEL_SCOPE| or |RST_GUILABEL_DELETED| option. In each case the |RST_BUTTON_MINUS_SYMBOL| button will select both option values. - The list can be sorted Ascending or Descending on display name. - *Tap* the |RST_BUTTON_APPLY| button to (re)display the list. - A *tap* on the |RST_BUTTON_DEFAULT| button resets the selection and sort fields to their default values. - The |RST_BUTTON_MINUS_SYMBOL| button collapses the section. .. _ch-webapp-admin-proxyprinter-edit: Edit |PROXYPRINTER| ~~~~~~~~~~~~~~~~~~~ .. _ch-webapp-admin-proxyprinter-edit-identity: Proxy Printer Identity ^^^^^^^^^^^^^^^^^^^^^^ .. _ss-admin-proxyprinter-edit-identity: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-base.png :alt: Admin Web App: |PROXYPRINTER| - Edit - Identity :width: 400px Admin Web App: |PROXYPRINTER| - Edit - Identity - The title bar shows the CUPS Printer Name. - The |RST_GUILABEL_DISPLAY| name and |RST_GUILABEL_LOCATION| are editable. - Multiple :ref:`Proxy Printer Groups ` can be entered separated by space, comma, colon or semicolon. - Tick the |RST_CHECKBOX_DISABLED| checkbox to disable access to the |PROXYPRINTER| for all use. - Tick the |RST_CHECKBOX_INTERNAL_USE| checkbox to mark the printer for internal use only. This will disable access to the |PROXYPRINTER| from the User Web App, but the printer can still be used for internal print work flow scenarios. - If the Print |RST_GUILABEL_ARCHIVE| and/or |RST_GUILABEL_JOURNAL| function is enabled it can be |RST_CHECKBOX_DISABLED| for this printer. See :ref:`Document Store `. - If displayed, tick the |RST_CHECKBOX_ENABLED| checkbox to enable this printer as PaperCut front-end. See :ref:`Delegated Print to PaperCut Front-end `. .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-base-papercut-from-end.png :alt: Admin Web App: Proxy Printer - PaperCut front-end :width: 400px Admin Web App: Proxy Printer - PaperCut front-end - If the Proxy Printer represents a Raw CUPS Queue, the |RST_GUILABEL_PPD_FILE| and an optional |RST_GUILABEL_PDL_TRANSFORM_FILE| can be selected. See :ref:`Raw Print `. .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-base-rawprint.png :alt: Admin Web App: Proxy Printer - Edit - Raw Print :width: 400px Admin Web App: Proxy Printer - Edit - Raw Print - The optional |RST_GUILABEL_PPD_EXTENSION_FILE| can be selected from a list with ``.ppde`` text files with extensions to the assigned PPD in CUPS. This is the way to map vendor specific PPD options to IPP attributes. See :ref:`PPD Extensions `. - Note: This file is required to configure a :ref:`Raw Print `. - By ticking the |RST_CHECKBOX_JOB_TICKET_PRINTER| checkbox the printer will act as |JOBTICKETPRINTER| and its display name will be shown to users with role :ref:`Job Ticket Creator ` for printer selection. An entry field is shown where you must enter the |RST_GUILABEL_PROXY_PRINTER_GROUP| containing the printers the Job Ticket print job can be redirected to. See :ref:`Printer Groups ` and :ref:`Job Tickets Web App `. .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-base-job-ticket-printer.png :alt: Admin Web App: Proxy Printer - Edit -Job Ticket Printer :width: 400px Admin Web App: Proxy Printer - Edit -Job Ticket Printer This option can *not* be selected for PaperCut managed printers (a warning message is displayed). - If the |RST_CHECKBOX_JOB_TICKET_PRINTER| option is *not* selected, you can still activate Job Ticket Labels, at least when they are enabled as configuration property: see :ref:`Configuration Properties ` (when tags are disabled, the option is not shown). When this option is activated a user can select a Job Ticket Labels for this regular proxy printer: see :ref:`Print Job Settings `. The selected labels are shown as CUPS job ID prefix. - Press the |RST_BUTTON_APPLY| button to commit the changes and return to the |PROXYPRINTER| List. - The |RST_BUTTON_CANCEL| button brings you back to the |PROXYPRINTER| List without changing anything. .. important:: When the content of the :ref:`PPD Extension File ` is changed, you must :ref:`Synchronize ` the Proxy Printers to take those changes into effect. See :ref:`Job Ticket Print ` for an explanation of Job Tickets and how users can create them. Also see :ref:`Job Tickets Web App ` and :ref:`Delegated Print - (Non) Secure & Job Ticket Scenarios `. .. _ch-webapp-admin-proxyprinter-costs-per-media-side: Printer Costs ^^^^^^^^^^^^^ Printer costs are specified per media *side* and can be set for One-sided and Two-sided prints and differentiated for B/W (Black and White) and Color printing. When SavaPage calculates the cost of a |PROXYPRINT| job, the two-sided (duplex) page cost is only applied to pages that are part of a sheet that is printed on both sides. So, for a document with an odd number of pages, the two-sided cost is not applied to the last page. For example, when a 7 page document is printed as two-sided, the two-sided cost is applied to the first 6 pages, and the one-sided cost to the last. Costs are displayed, and can be entered, with a precision (number of decimals) as defined in :ref:`General Financial Options `. *Printer costs are irrelevant and ignored in the following cases:* - When this is a |RST_CHECKBOX_JOB_TICKET_PRINTER| and :ref:`Job Ticket Media Costs ` are defined in the |RST_GUILABEL_PPD_EXTENSION_FILE|. - When a printer is selected from the :ref:`Job Ticket Print ` dialog (Job Ticket cost is leading). - When PaperCut cost is leading. This is the case for a PaperCut Managed Printer, and when all conditions below are met: - This is a Non-Secure Printer (Secure Printing must be enforced by PaperCut). See :ref:`Proxy Print `. - :ref:`PaperCut Integration ` is enabled. - One of these two conditions is true: 1. :ref:`PaperCut Delegated Print Integration ` is *enabled*, and a :ref:`Print Job ` is *not* charged to a Personal Account, but to a Shared Account or via the :ref:`Delegated Print - PaperCut Scenario `. 2. :ref:`PaperCut Delegated Print Integration ` is *disabled* and :ref:`Personal Print to PaperCut ` is enabled, For a Document Log example, see :ref:`User Web App: Delegated Print - Group copies `. .. _ch-webapp-admin-proxyprinter-edit-media-sources: Media Sources ^^^^^^^^^^^^^ In case :ref:`Printer Costs ` are relevant, you can assign Media Size and Costs to Media Sources. .. warning:: If no Media Source is configured, a red colored “Configuration needed” tag will show up for this printer in the :ref:`Proxy Printer List ` and the printer will not be available for printing. .. _ss-admin-proxyprinter-edit-media-sources: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-media-source.png :alt: Admin Web App: Proxy Printer - Edit - Media Source :width: 400px Admin Web App: Proxy Printer - Edit - Media Source - The header text “Cost per media side ...” is prefixed with the same printer marker icon(s) as shown in the :ref:`Printer List `. - CUPS printer defaults are indicated in the header with an asterisk ``*``. In some odd cases the CUPS printer color mode default “grayscale” is not correctly transferred as IPP attribute. You can easily correct this behavior by setting the |RST_CHECKBOX_USE_BW_AS_DEFAULT| option at the top of the |RST_GUILABEL_MEDIA_SOURCE| section. Instead, you can also use a :ref:`PPD to IPP mapping ` to set the default for the IPP :ref:`print-color-mode ` attribute: this correction is more basic, and is immediately reflected in de default ``*`` indicator. - If the |RST_CHECKBOX_PERFORM_BW_CONVERSION_LOCALLY| option is set, grayscale print jobs are converted to B/W before sending them to a color capable proxy printer. This setting is needed when you observe that print jobs with color content are printed in color, despite the Grayscale Color Mode setting in the :ref:`Printer Settings ` dialog. Indeed, some PPDs expect grayscale conversion is done client-side. - This option is not available for a |RST_CHECKBOX_JOB_TICKET_PRINTER|. - The ``*auto`` text below the Source header indicates that the printer supports automatic tray selection based on media options. - Each entry in the list has a checkbox with the IPP attribute keyword of the Media Source. - Tick the checkbox to enable the media source, and enter a user-friendly name as will show up in the Media Source picklist of the :ref:`Printer Settings ` dialog. - Select the Media Size that is present in the Media Source. - Specify the costs. Notice that only those cost cells are enabled that are applicable for the printer. - You can mark a media source as *preferred* by pressing the “Star” button at the left. A preferred source is taken as default in situations where multiple media sources contain the same requested media size. For instance, in Job Ticket :ref:`Redirect Printer ` settings. .. warning:: Depending on the PPD file used for the CUPS printer, some media sources might not be applicable. You are advised to do some tests to make sure that media sizes are indeed applicable to the media sources as you intended. .. _ch-webapp-admin-proxyprinter-edit-media-sources-job-sheet: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-media-source-job-sheets.png :alt: Admin Web App: Proxy Printer - Edit - Job Sheet Media Sources :width: 400px Admin Web App: Proxy Printer - Edit - Job Sheet Media Sources - If the printer is member of at least one :ref:`Job Ticket Printer Group `, and can therefore act as redirect printer, a media-source select menu for |RST_GUILABEL_JOB_SHEETS| is shown. Multiple media-sources with assigned media-size can be selected. - When this printer is selected as redirect printer, the first |RST_GUILABEL_JOB_SHEETS| media-source that matches the requested job-sheet media size will be selected as default. See :ref:`Job Ticket Print `. - The select menu is shown even if :ref:`org.savapage-job-sheets ` is not configured in any job ticket PPDE file. .. _ss-admin-proxyprinter-edit-media-source-manual: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-media-source-manual.png :alt: Admin Web App: Proxy Printer - Edit - Manual Media Source :width: 400px Admin Web App: Proxy Printer - Edit - Manual Media Source - Costs for the *manual* media source can not be entered here, but must be specified as described in the :ref:`next section `. .. _ch-webapp-admin-proxyprinter-edit-manual-media: Manual Media Sizes ^^^^^^^^^^^^^^^^^^ In case :ref:`Printer Costs ` are relevant, you can specify the |PROXYPRINTER| media costs for the *manual* media source. You can either use a |RST_BUTTON_SIMPLE| or |RST_BUTTON_ADVANCED| definition. .. _ss-admin-proxyprinter-edit-financial-simple: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-manual-media-size-simple.png :alt: Admin Web App: Proxy Printer - Edit - Manual Media Size (Simple) :width: 400px Admin Web App: Proxy Printer - Edit - Manual Media Size (Simple) The |RST_BUTTON_SIMPLE| definition allows for a single cost per media side. This is appropriate for a non-duplex monochrome |PROXYPRINTER| that can handle a single media size (Letter or A4) only. .. _ss-admin-proxyprinter-edit-financial-advanced: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-manual-media-size-advanced.png :alt: Admin Web App: Proxy Printer - Edit - Manual Media Size (Advanced) :width: 400px Admin Web App: Proxy Printer - Edit - Manual Media Size (Advanced) |RST_BUTTON_ADVANCED| mode is best suited for a duplex color |PROXYPRINTER| that can handle multiple media sizes. - The list of supported media sizes is dependent on the |PROXYPRINTER| type. - Use the check-box at a media size to enable its custom cost specification. - Costs for unspecified (disabled) media sizes fall back to the |RST_CHECKBOX_DEFAULT| specification. .. _ch-webapp-admin-proxyprinter-group: Printer Groups ~~~~~~~~~~~~~~ Printer Groups allow administrators to combine |PROXYPRINTER| instances so they can be addressed as group by a single *tag*. A |PROXYPRINTER| can have one or more groups tags. See :ref:`Edit Proxy Printer `. Printer Groups are used to customize access to Proxy Printers. See: - :ref:`Proxy Print Authentication ` - :ref:`Custom Proxy Print ` - :ref:`Proxy Print ` - :ref:`Proxy Printer Identity `. - :ref:`Job Ticket Group `. .. note:: Printer Group tags are added to the database on first use. Tags without |PROXYPRINTER| members are removed from the database at the start of the application and thereafter in a :ref:`Daily Job `. .. _ch-webapp-admin-proxyprint-rawprint: Raw Print ~~~~~~~~~ If the CUPS printer (or class) represents a Raw Queue, a |RST_GUILABEL_PPD_FILE| and an optional |RST_GUILABEL_PDL_TRANSFORM_FILE| can be selected. See :ref:`Edit Proxy Printer `. .. _ch-webapp-admin-proxyprint-rawprint-ppd: PPD File ^^^^^^^^ A |RST_GUILABEL_PPD_FILE| must have the ``ppd`` file name extension and be located in the ``/opt/savapage/custom/rawprint/ppd/`` directory. The PPD is required so that SavaPage can generate the PDL and send it to the CUPS printer. [7]_ spoolfile. The ``cupsfilter`` command is used to produce the PDL. .. important:: The |RST_GUILABEL_PPD_FILE| is *not* interpreted by SavaPage to extract the IPP printer options. A :ref:`PPD to IPP Mapping ` is needed and must be done manually, put in a ``.ppde`` file and selected as well. See :ref:`PPD Extensions `. .. [7] Page Description Language (PDL) is a computer language that describes the appearance of printed pages for a specific printer model or type, enabling the printer to produce the actual printout. .. _ch-webapp-admin-proxyprint-rawprint-pdl-transform: PDL Transform File ^^^^^^^^^^^^^^^^^^ |image42| .. note:: PDL Transform File is a :ref:`Feature Preview ` that is partly operational and impermanent. The preview is offered to provoke feedback based on real world use. Please tell us your requirements. A |RST_GUILABEL_PDL_TRANSFORM_FILE| can be applied to change the content of the PDL spoolfile before it is send to CUPS. The file has JSON format, must have the ``json`` file name extension and be located in the ``/opt/savapage/custom/rawprint/transforms/`` directory. Use of this type of file is optional. The transform defines a simple ``search`` and ``replacement`` of words in the @PJL header. The ``replacement`` is a reference to one of the following IPP ``PRINT_JOB`` operation attributes: ``requesting-user-name``, ``job-name`` and ``copies``. For example: .. code-block:: json { "@PJL" : { "header" : { "replace" : [ { "search" : "&user;", "replacement" : "requesting-user-name" }, { "search" : "&title;", "replacement" : "job-name" }, { "search" : "&copies;", "replacement" : "copies" } ] } } } .. _ch-webapp-admin-proxyprinter-rename: Rename |PROXYPRINTER| ~~~~~~~~~~~~~~~~~~~~~ If a |PROXYPRINTER| is removed from the host system it is marked in the list as *not present*. When editing new options appear, as is shown in the screenshot below. .. _ss-admin-proxyprinter-edit-rename: .. figure:: ../images/manual/screenshots/admin/sp-01-04-proxyprinter-edit-rename.png :alt: Admin Web App: Proxy Printer - Rename :width: 400 Admin Web App: Proxy Printer - Rename - See :ref:`Admin Web App: Proxy Printer - Edit - Identity ` for a description of the basic edit options. - Tick the |RST_CHECKBOX_DELETE_WHEN_JOB_HISTORY_IS_CLEANED| button to logically delete the |PROXYPRINTER|. It will be physically deleted from the database when no related job history is present anymore. This situation will automatically occur when you enabled automatic backup in combination with the delete of old document logs. *Deleting makes sense if the queue is permanently removed from CUPS*, and you don't want the |PROXYPRINTER| list in the Admin Web App to be cluttered with out-of-date "not present" Proxy Printers. - Press the |RST_BUTTON_OK| button to commit the changes and return to the |PROXYPRINTER| List. - You can change the associated CUPS printer by entering a |RST_GUILABEL_NEW_NAME|. *Renaming makes sense as a mirroring action of renaming a CUPS queue*. After renaming a printer in CUPS, the |PROXYPRINTER| associated with the old CUPS name will be identified by SavaPage as "not present", and a new |PROXYPRINTER| for the new CUPS queue will be created. At this point you can re-associate (rename) the old CUPS name of the |PROXYPRINTER| to the new one. This will work as long as no job history is already accumulated on the |PROXYPRINTER| associated with this new CUPS name. To overrule this constraint you can tick the |RST_CHECKBOX_REPLACE_DELETE_EXISTING_PRINTER_WITH_ IDENTICAL_NAME| checkbox, so an existing |PROXYPRINTER| associated with the same (new) CUPS name will be deleted and replaced. - Press the |RST_BUTTON_RENAME| button to commit the renaming action and return to the |PROXYPRINTER| List. - Both |RST_BUTTON_CANCEL| buttons bring you back to the |PROXYPRINTER| List without changing anything. .. caution:: If SavaPage detects a CUPS queue whose name is identical to a logical deleted |PROXYPRINTER|, the logical delete mark will be removed and the |PROXYPRINTER| will be re-activated. .. /* * Images */ .. |image33| image:: ../images/manual/printer-terminal-any-16x16.png :width: 16px .. |image34| image:: ../images/manual/printer-terminal-none-16x16.png :width: 16px .. |image35| image:: ../images/manual/printer-terminal-auth-16x16.png :width: 16px .. |image36| image:: ../images/manual/printer-terminal-custom-16x16.png :width: 16px .. |image37| image:: ../images/manual/printer-terminal-custom-or-auth-16x16.png :width: 16px .. |image38| image:: ../images/manual/printer-jobticket-32x32-no-alpha.png :width: 16px .. |image39| image:: ../images/manual/papercut-logo.png :width: 16px .. |image40| image:: ../images/manual/archive-32x32.png :width: 16px .. |image41| image:: ../images/manual/journal-32x32.png :width: 16px .. |image42| image:: ../images/manual/savapage-feature-preview-75x100.png :width: 50px