LinuxCommandLibrary

ppdmerge

Merge multiple PPD files into one

SYNOPSIS

ppdmerge [ -o output-file ] PPD-file [ ... PPD-file ]

PARAMETERS

-o output-file
    Specifies the path and name for the merged output PPD file. If not provided, the merged PPD is written to standard output.

PPD-file
    One or more input PPD files to be merged. These files describe the capabilities of a PostScript printer.

DESCRIPTION

ppdmerge is a CUPS (Common Unix Printing System) utility designed to combine multiple PPD (PostScript Printer Description) files into a single output PPD file.

PPD files describe the capabilities and options of a PostScript printer. Merging can be useful for adding custom options to an existing driver, combining features from different PPDs (e.g., adding a duplex unit option from one PPD to a base driver PPD), or updating printer capabilities. When conflicts arise (e.g., the same option defined differently in multiple PPDs), ppdmerge typically prioritizes the options from later specified input files, though careful review of the merged output is always recommended.

This tool simplifies the customization and maintenance of printer configurations within the CUPS environment.

CAVEATS

ppdmerge handles conflicts by prioritizing options from later PPD files specified on the command line. This behavior requires users to carefully order their input files to achieve the desired result.

Complex PPD structures or highly customized options might not merge perfectly, necessitating manual inspection and editing of the resulting PPD file.

It's crucial to validate the merged PPD file (e.g., using ppdhtml or testing with lpadmin) before deploying it in a production CUPS environment.

HISTORY

ppdmerge is an integral part of the CUPS (Common Unix Printing System) suite. CUPS was originally developed by Easy Software Products (ESP) in the late 1990s and became the de facto standard printing system for Unix-like operating systems. Apple Inc. acquired ESP in 2007, continuing its development. ppdmerge has been a utility within CUPS to manage and customize printer driver capabilities, supporting its evolution from a simple print spooler to a comprehensive printing solution.

SEE ALSO

lpadmin(8), cupsd(8), ppdhtml(1), ppdi(1), ppdtool(1), lp(1)

Copied to clipboard