foo2hbpl2-wrapper(1)
π foo2hbpl2-wrapper β the manual page, but make it cute π
okay bestie, welcome to foo2hbpl2-wrapper, straight out of the General Commands Manual (section 1, obviously, she's a command). pull up a chair, grab a boba, we're gonna turn Postscript into printer goop together. π«Ά
β¨ NAME β¨
foo2hbpl2-wrapper β Convert Postscript into a ZJS printer stream. that's the whole vibe. postscript goes in, ZjStream comes out, printer goes brrrr π
πΈ SYNOPSIS πΈ
foo2hbpl2-wrapper [options] [ps-file]
π¦ DESCRIPTION π¦
so foo2hbpl2-wrapper is a Foomatic compatible printer wrapper for the foo2hbpl2 printer driver. it reads a Postscript ps-file (or just slurps from standard input, no pressure) and converts it into Zenographics ZjStream printer format. it's giving translator, it's giving middleman, it's giving the moment β¨
and who is this for, you ask? the girlies:
- Dell 1355
- Dell C1765
- Epson AcuLaser M1400
- Epson AcuLaser CX17NF
- Fuji Xerox DocuPrint CM205
- Fuji Xerox DocuPrint CM215
- Fuji Xerox DocuPrint P205
- Xerox Phaser 3010
- Xerox Phaser 3040
- Xerox WorkCentre 3045 MFP
- Xerox WorkCentre 6015 MFP
you can run this script standalone, bestie, it's not codependent β but her true purpose, her main character arc, is being called from a printer spooler system that uses the Foomatic printer database. iykyk π
π COMMAND LINE OPTIONS π
π Normal Options
these are the options you use to pick the parameters of a print job β the stuff you'd usually control per job, ya know? the everyday slay.
-cβ print in color (otherwise it's monochrome, sad beige printer).-C colormodeβ color correction mode, default[0].10β ICM color profile (using the-G *.icmfile)
-d duplexβ the duplex code you send to the printer, default[1].1β off2β long edge3β short edge
-m mediaβ media code to send to the printer, default[1]. the HBPL codes are:
Media HBPL
plain 1
bond 2
lwcard 3
lwgcard 4
labels 5
envelope 6
recycled 7
plain2 8
bond2 9
lwcard2 10
lwgcard2 11
recycled2 12
-p paperβ paper size code to send to the printer, default[1]. the HBPL codes:
Paper HBPL
A4 1
B5jis 2
A5 3
letter 4
executive 5
fanfold german legal 6
folio 6
legal 7
env#10 9
envMonarch 10
envC5 11
envDL 12
heads up bestie,fanfold german legalandfolioare both code6. that's not a typo, that's just how it is. π
-n copiesβ number of copies, default[1]. one is never enough tho.-r xresxyresβ set device resolution in pixels/inch, default[1200x600].-s sourceβ source (input slot) code to send to the printer, default[7].1β upper2β lower4β manual7β auto
-tβ draft mode. every other pixel is white. she's β¨minimalistβ¨, she's conserving toner, she's doing less on purpose.-T densityβ print density,1β5. the default is3(medium). not too much, not too little, goldilocks energy.-2-3-4-5-6-8-9-10-12-14-15-16-18β print in N-up. requires thepsutilspackage. (yes, that's a lot of flags, no, we're not skipping any, every single one is listed. periodt.)-o orientβ orientation used for N-up:- Portrait β
-op(normal) - Landscape β
-ol(rotated 90 degrees anticlockwise) - Seascape β
-os(rotated 90 degrees clockwise)
- Portrait β
π Printer Tweaking Options
these are for customizing how foo2hbpl2 behaves on your specific printer. your printer, your rules, your tweaks π
-u xoffxyoffβ set the offset of the start of the printable region from the upper left corner, in pixels, default[varies with paper size]. the defaults should work on the2200DLand2300DL, and have not been tested on any other printers. π«£-l xoffxyoffβ set the offset of the end of the printable region from the lower right corner, in pixels, default[varies with paper size]. same tea: defaults should work on the2200DLand2300DL, and have not been tested on any other printers.-L maskβ send the logical clipping values from-u/-lin the ZjStream.foo2hbpl2-wrapperalways runs Ghostscript with the ideal page dimensions so the scale of the image is correct, regardless of whether the printer has unprintable regions. this option is used to move the position of the clipped image back to where it belongs on the page. the default is to send the amount which was clipped by-uand-l, and should be good in most cases.0β don't send any logical clipping amounts1β only send Y clipping amount2β only send X clipping amount3β send both X and Y clipping amounts
-Pβ do not sendSTART_PLANEcodes on monochrome output. may be needed by some monochrome-only printers, such as theHP LaserJet 1000.-X padlenβ add extra zero padding to the end of BID segments. the default is16bytes. padding 16 bytes of zeroes is needed for older ZjStream printers, such as theMinolta 2200DLandHP LaserJet 1000, and seems harmless to newer ones, such as theMinolta 2300DL. so the default should be good for all cases. icon behavior honestly π
πΈ Color Tweaking Options
these control the quality of color output. and bestie, real talk: color correction is currently a WORK IN PROGRESS. we're all just doing our best here π
-g gsoptsβ additional options to pass to Ghostscript, such as-gβ-dDITHERPPI=nnnβ, etc. this option may appear more than once. (stack 'em, queen.)-G profile.icmβ convert profile.icm to a Postscript color rendering dictionary (CRD) usingfoo2zjs-icc2psand adjust the printer colors by using the Postscriptsetcolorrenderingoperator. (WORK IN PROGRESS). π-G gamma-file.psβ prepend gamma-file.ps to the Postscript input to perform color correction using thesetcolortransferPostscript operator. for example, the file might contain:
{0.333 exp} {0.333 exp} {0.333 exp} {0.333 exp} setcolortransfer
-I intentβ select profile intent from the ICM file.0=Perceptual,1=Colorimetric,2=Saturation,3=Absolute. default is0(perceptual).
π Debugging Options
for when you need to peer into the soul of foo2hbpl2 and its wrapper. detective mode: activated π΅οΈββοΈ
-S planeβ output just a single color plane from a color print and print it on the black plane. the default is to output all color planes.1β Cyan2β Magenta3β Yellow4β Black
-D levelβ set debug level, default[0].
β EXAMPLES β
okay so here's the classic: make a monochrome ZjStream from a Postscript document, examine it (look at her, she's beautiful), and then print it using a RAW print queue:
foo2hbpl2-wrapper testpage.ps > testpage.prn
hbpl2decode < testpage.prn
lpr -P raw testpage.prn
and now the glow-up version β a color ZjStream stream from a Postscript document:
foo2hbpl2-wrapper -c testpage.ps > testpage.prn
π FILES π
/usr/bin/foo2hbpl2-wrapper
π§ SEE ALSO π§
π AUTHOR π
- Rick Richardson
<rick.richardson@comcast.net> http://foo2hbpl.rkkda.com/
and that's the whole page, bestie!! π this was the foo2hbpl2-wrapper page from the General Commands Manual, brought to you by Rick Richardson and the fine folks at http://foo2hbpl.rkkda.com/ β go forth, convert your Postscript, and slay the print queue. no cap. ππ¦β¨
π¦ where this page comes from
- ubuntu noble: printer-driver-foo2zjs-common 20200505dfsg0-2ubuntu6 Β· GPL-2.0-or-later
- ubuntu questing: printer-driver-foo2zjs-common 20200505dfsg0-2ubuntu6
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms