foo2hiperc-wrapper
Print jobs to specific Minolta/Konica printers
SYNOPSIS
foo2hiperc-wrapper [options] [file...]
PARAMETERS
file...
One or more PostScript or PDF files to be processed. If no files are specified, the command reads from standard input (stdin).
--debug
Enables verbose debugging output, showing the internal commands being executed and their parameters. Useful for troubleshooting.
--nofeed
Prevents the sending of a form-feed character at the end of the print job. Some printers may require this.
--raw
Sends raw output directly to the printer without any additional processing or form feeds by the wrapper. Useful when the printer expects raw data.
--force-color
Forces `foo2hiperc` to process the job in color mode, even if it might detect monochrome content or if the printer is usually monochrome. Useful for color adjustments.
--force-mono
Forces `foo2hiperc` to process the job in monochrome (grayscale) mode, optimizing for black and white printing.
--paper size
Specifies the paper size (e.g., A4, Letter, Legal). This option is usually passed through to Ghostscript or `foo2hiperc` to ensure correct page dimensions.
--duplex
Enables duplex (two-sided) printing, if supported by the printer and `foo2hiperc`. This option is typically passed to Ghostscript.
--simplex
Forces simplex (one-sided) printing.
--resolution dpi
Sets the printing resolution in dots per inch (e.g., 600, 1200). This value is passed to `foo2hiperc`.
--gamma value
Adjusts the gamma correction for color output (passed to `foo2hiperc`).
--profile file.icc
Specifies an ICC color profile file to be used for color management (passed to `foo2hiperc`).
DESCRIPTION
The `foo2hiperc-wrapper` command is a crucial component of the `foo2zjs` driver suite, designed to enable Linux and Unix-like systems to print to printers that use the Hi-Cap (High Capacity) printer language. These are often specific models from manufacturers like Samsung or Xerox, which require a specialized driver beyond standard PostScript or PCL.
Essentially, `foo2hiperc-wrapper` acts as an intermediary, facilitating the conversion of PostScript or PDF input (typically generated by applications or Ghostscript) into the proprietary Hi-Cap format. It usually works by piping the PostScript input through Ghostscript (`gs`) for rendering, and then passing the rendered output to the `foo2hiperc` utility, which performs the final conversion to the printer's native language.
This wrapper script simplifies the printing process by handling the complex command-line arguments and piping necessary to make `gs` and `foo2hiperc` work together seamlessly. It is frequently configured as a filter in the CUPS (Common Unix Printing System) environment, allowing users to print directly from their applications without needing to manually invoke the underlying conversion tools.
CAVEATS
The `foo2hiperc-wrapper` command relies heavily on the presence and correct configuration of Ghostscript (`gs`) and the `foo2hiperc` utility. Ensure both are installed and accessible in the system's PATH.
Printer-specific features (like special trays or advanced finishing options) might not be fully exposed or controllable directly via generic `foo2hiperc-wrapper` options; specialized CUPS queues or PPD files might be needed to unlock such functionalities.
As a wrapper script, its options often directly map to or are passed to the underlying `foo2hiperc` command or Ghostscript. For advanced usage or troubleshooting, consulting the `foo2hiperc` man page or Ghostscript documentation is recommended.
CUPS INTEGRATION
`foo2hiperc-wrapper` is most commonly used as a backend filter in the CUPS printing system. When a printer is configured to use a `foo2hiperc` PPD file, CUPS automatically pipes print jobs through this wrapper script, handling the conversion and sending the job to the printer.
DEPENDENCIES
Requires Ghostscript (`gs`) for PostScript/PDF rendering and the `foo2hiperc` executable for the final page description language conversion. Perl is also typically required as the wrapper script itself is often written in Perl.
HISTORY
The `foo2hiperc-wrapper` command is part of the broader `foo2zjs` project, an open-source suite of drivers for printers that use proprietary page description languages (PDLs) like ZjStream, Hi-Cap, and others, common in printers from Samsung, Xerox, and Dell. Developed by Rick Richardson, the project aims to fill the gap left by manufacturers who often do not provide official Linux drivers for these specific printer models.
The `foo2zjs` project, and consequently `foo2hiperc`, gained prominence in the early 2000s as a vital solution for Linux users facing compatibility issues with popular, affordable laser printers. The wrapper scripts like `foo2hiperc-wrapper` were created to simplify the command-line usage and integration into standard printing systems like CUPS, making these printers accessible to a wider Linux audience.