LinuxCommandLibrary

foo2zjs-wrapper

Print to specific ZjStream-based printers

SYNOPSIS

foo2zjs-wrapper [-p|-d printer] [-z#] [-P#] [-n#] [-r res] [-Y#] [-L#] [-X#] [-B#] [-l#] [-t#] [-m#] [-s#] [-q#] [file]

PARAMETERS

-p printer
    Set printer name for CUPS status

-d printer
    Set debug printer name

-z0|-z1|-z2|-z3|-z4
    Simplex (0), duplex tumble (1), book (2), reverse options (3-4)

-P#
    Print density, 1-100% (default 100)

-n#
    Number of copies (default 1)

-r600|300|150
    Resolution: 600x600, 300x300, or 150x150 dpi

-Y#
    Top margin offset in points

-L#
    Left margin offset in points

-X#
    X offset in points

-B#
    Binding offset for duplex

-l#
    Left margin in mm

-t#
    Top margin in mm

-m0|-m1|-m2
    Media type: plain(0), transparency(1), envelope(2)

-s0|-s1|-s2|-s3
    Paper source tray

-q0|-q1|-q2|-q3|-q4|-q5
    Quality mode 0-5 (presentation to draft)

-H|-V
    Show help or version

DESCRIPTION

The foo2zjs-wrapper is a CUPS filter and command-line wrapper for the foo2zjs printer driver, designed for HP LaserJet printers and compatible devices using the proprietary ZjStream (ZJS) page description language. Developed as an open-source alternative to HP's proprietary drivers, it enables Linux users to print PostScript and PDF files to printers like the HP LaserJet 1000, 1005, 1018, 1020, 1022, 3050, 3055, M1319f, P1005, P1006, P1505, and some Zebra thermal printers.

It processes input files, applies options for margins, resolution, duplexing, and quality, then outputs ZjStream data piped to the printer via USB, parallel, or network. Installation typically involves the foo2zjs package from repositories or source, often requiring printer firmware extraction using tools like foo2zjs-getweb. Widely used in distributions like Ubuntu for legacy HP printers lacking official Linux support.

Key features include resolution support up to 600x600dpi, media type selection, and density adjustments. It's invoked by CUPS during print jobs or directly from the shell for testing.

CAVEATS

Requires matching printer firmware (.sfp file); USB printers need idVendor/idProduct setup; test prints recommended as some models have quirks; not for modern PPD-enabled printers.

SUPPORTED PRINTERS

HP LaserJet 1000/1005/1018/1020/1022/3050/3055/M1319f/P1005/P1006/P1505; Zebra ZJ-240/285

FIRMWARE SETUP

Download with foo2zjs-getweb 1020 (replace model); place in /usr/share/foo2zjs

HISTORY

Originated in 2004 from reverse-engineering efforts by developers like Till Kamppeter and Otto Kubler under the foo2* project to support HP's closed ZjStream format. Integrated into major distros by 2006; actively maintained on SourceForge with updates for new models.

SEE ALSO

foo2zjs(1), lp(1), lpr(1), foo2qpdl-wrapper(1)

Copied to clipboard