foo2qpdl
Convert Ghostscript output to QPDL for printers
SYNOPSIS
foo2qpdl [options] [<] input.pcl [> output.prn]
PARAMETERS
-P
Prettyprint the page description on stderr
-p paper
Paper size: Letter, Legal, A4, ArchA, etc.
-n copies
Number of copies (1-999)
-x printwidth
Print width in pixels (default based on paper)
-y printheight
Print height in pixels
-l length
Paper length in points (for manual feed)
-w width
Paper width in points
-s slow
Slow speed (for low-memory printers)
-r
Resolution: -r120x120, -r300x300, -r600x600, -r1200x1200
-d0|-d1
Disable or enable duplex (long-edge)
-z0|-z1|-z2|-z3|-z4|-z6|-z9
Compression mode (0=none, 9=max)
-L gamma
Lightness (gamma correction, 0.1-3.0)
-e
Media type: plain, transparency, envelope, labels, thick, cardstock, recycled
-q
Quality: normal, draft, high
-D decision
Decision page: separate, together
DESCRIPTION
The foo2qpdl command is an open-source printer driver filter from the foo2zjs project, designed specifically for Kyocera printers using the proprietary QPDL (Kyocera Page Description Language). It converts standard PostScript or PCL input into printer-ready data streams for models like Kyocera FS-1000, FS-1200D, FS-2000D, and Mita KM series laser printers.
This driver enables Linux users to print to these printers via CUPS or directly from the command line. It supports features such as duplex printing, multiple resolutions (300, 600, 1200 dpi), paper sizes, and basic color modes where applicable. foo2qpdl is typically invoked as a filter in print queues, processing incoming jobs and outputting binary data tailored to the printer's engine.
Development focuses on reverse-engineering proprietary formats, providing free alternatives to vendor drivers. While robust for text and graphics, advanced color accuracy or high-speed features may require tweaks. Install via foo2zjs package for full functionality, including foo2qpdl-wrapper for CUPS integration.
CAVEATS
Limited color support (mostly monochrome); experimental for some models; requires Ghostscript for PS input; high-res modes increase file size and processing time.
Verify printer compatibility via foo2zjs documentation.
SUPPORTED PRINTERS
Kyocera FS-1000, FS-1200D, FS-2000D; Mita KM-1530/2030/2530; TASKalfa series (select models). Full list in foo2zjs README.
CUPS USAGE
Use foo2qpdl-wrapper as filter. Install foo2zjs package, run foo2qpdl-wrapper --help for PPD generator. Example: makefoo2qpdl.
HISTORY
Developed by Toby White starting ~2004 as part of foo2zjs project to support HP/ZJS printers, extended to Kyocera QPDL by 2005. Integrated into major distros; actively maintained with patches for new models up to 2020s.
SEE ALSO
foo2zjs(1), foo2qpdl-wrapper(1), gs(1), lp(1), enscript(1)


