foo2slx
Convert foo2zjs printer driver to CUPS
SYNOPSIS
foo2slx [options] <
Commonly used in a pipeline with Ghostscript:gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=ps2write -sOutputFile=- <input.pdf> | foo2slx [options] > <output.slx>
PARAMETERS
-r <xres>x<yres>
Sets the desired printer resolution in dots per inch (DPI), e.g., 600x600.
-g <gamma>
Adjusts the gamma correction for print output, typically a floating-point value.
-t
Enables toner save mode, which reduces the amount of toner used, often resulting in lighter prints.
-c
Forces the output to be in color mode, even if the input is grayscale or the printer default is mono.
-m <N>
Specifies N-up printing, arranging N pages onto a single sheet of paper.
-P <pagesize>
Sets the paper size, e.g., letter, a4, legal.
-s <source>
Selects the paper source tray, e.g., tray1, manual.
-d <density>
Adjusts the print density, typically a value from 0 to 100.
-q <quality>
Sets the print quality level, often influencing speed and detail.
DESCRIPTION
foo2slx is a free software driver for printers that utilize the Samsung SLX raster format. It acts as a crucial intermediary, taking PostScript output (typically generated by Ghostscript) and transforming it into the specific proprietary SLX raster format that these printers understand.
This enables Linux and Unix-like operating system users to effectively print to certain Samsung color laser printers, such as those in the SL-C4x00 series. The command is an integral component of the broader foo2zjs project, which provides drivers for various ZjStream-based printers. Its primary function is to manage color correction, resolution scaling, and page formatting to ensure accurate and high-quality prints.
CAVEATS
- Requires Ghostscript to convert source documents (like PDF) into PostScript format, which foo2slx then processes.
- Designed specifically for Samsung SLX raster printers; not compatible with other printer languages or manufacturers.
- Advanced printer features like specific finishing options might not be directly supported by command-line options and may require CUPS configuration.
INTEGRATION WITH CUPS
foo2slx is commonly used within the CUPS (Common Unix Printing System) framework. When a compatible printer is configured in CUPS, a PPD (PostScript Printer Description) file for the printer often instructs CUPS to use foo2slx as a filter in the printing pipeline. This allows users to print from any application via CUPS without directly invoking foo2slx themselves.
INPUT/OUTPUT
The command typically reads PostScript data from standard input and writes the converted SLX raster data to standard output, making it highly suitable for piping operations in shell scripts or printer spooling systems.
HISTORY
The foo2slx command is part of the broader foo2zjs project, initiated and primarily developed by Rick van Rein. The project began as an effort to provide open-source Linux drivers for printers that utilize proprietary ZjStream data formats, which were prevalent in many Samsung, Xerox, and Dell printers. foo2slx specifically targets newer Samsung printers using the SLX raster format, extending the foo2zjs suite's compatibility to these devices. Its development has been driven by the need for robust and functional drivers in environments where manufacturer-provided Linux drivers are absent or inadequate.