foo2zjs(1)
🌸 foo2zjs — NAME 🌸
okay so bestie, foo2zjs is a lil icon that converts Ghostscript pbmraw or bitcmyk format into a ZJS printer stream. that's the whole vibe. this page lives in the General Commands Manual, section 1, iykyk 💅
✨ SYNOPSIS ✨
like, three whole ways to run her, all reading from stdin and writing to stdout:
foo2zjs [options] <pbmraw-file >zjs-file
foo2zjs [options] <bitcmyk-file >zjs-file
foo2zjs [options] <pksmraw-file >zjs-file
💖 DESCRIPTION 💖
so basically foo2zjs takes Ghostscript output in pbmraw, bitcmyk, or pksmraw format and turns it into monochrome or color ZJS streams 🦋 and those streams are what drive the Minolta/QMS 2300 DL network color laser printer and other Zenographics-based printers. she's a translator, she's a bridge, she's doing the most fr fr.
🎀 COMMAND LINE OPTIONS 🎀
Normal Options
these are the ones you'd tweak per job — the everyday slay options 💅
-c— force color mode when autodetect is being a hater and just won't work.-dduplex — the duplex code you send to the printer. default is[1].1— off2— long edge3— short edge
-gxpixxypix — set the page dimensions in pixels. default is[10200x6600]. note the lilxbetween the two numbers, that's not a typo, that's the format bestie 🫶-mmedia — the media code you send to the printer. default is[1]. okay so this one is a whole spreadsheet, lemme lay it out:
columns are: 2300DL / HP 1005 (-z0) · 2200DL (-z0) · HP 1018 / HP 1020 (-z1) · HP P1102 / HP P1606 (-z2) · HP CP1025 (-z3)
standard—1·1·1·1·1transparency—2·2·2·2·2envelope—257·na·267·267·267letterhead—259·na·513·513·513bond—na·na·260·260·260thick—261·4·261·na·napostcard—262·na·na·na·narough—na·na·263·263·263heavy—na·na·262·262·262labels—263·3·263·265·265vellum—na·na·273·273·273medium—na·na·na·282·282extraheavy—na·na·na·283·283color—na·na·512·512·512light—na·na·258·258·258preprinted—na·na·514·514·514prepunched—na·na·515·515·515recycled—na·na·516·516·516
-ppaper — the paper code you send to the printer. default is[1]. another spreadsheet, another slay:
columns are: MC 2300DL / HP 1005 (-z0) · HP 1018 / HP 1020 (-z1) · HP P1102 / HP P1606 (-z2) · HP CP1025 (-z3)
letter—1·1·1·1legal—5·5·5·5executive—7·7·7·7A4—9·9·9·9A5—11·11·11·11B5jis—13·13·13·13env #10—20·20·20·20env DL—27·27·27·27env CL—28·28·28·28env B5—34·34·34·34env Monarch—37·37·37·37postcard (japan)—na·260·43·43B5iso—na·259·na·naA6—na·262·70·70double postcard rotated—na·261·82·8216k 197x273—na·257·257·257fanfold german legal legal—na·258·258·25816k 184x260—na·na·263·26316k 195x270—na·na·264·264photo 4x6—na·na·na·268photo 5x8—na·na·na·269photo 10x15—na·na·na·270
-ncopies — how many copies. default is[1].-rxresxyres — set the device resolution in pixels/inch. default is[1200x600].-ssource — the Source (InputSlot) code you send to the printer. default is[7].1— upper4— manual2— lower7— auto
-t— Draft mode. every other pixel is white. she's on a diet, she's minimal, she's giving economy 💀-Tdensity — print density, range1-5. default is3(medium).-Jfilename — the filename string you send to the printer.-Uusername — the username string you send to the printer.
Printer Tweaking Options
these are the ones for customizing how foo2zjs behaves with your specific printer — the ✨personalization✨ era 🎀
-uxoffxyoff — set the offset of the start of the printable region from the upper left corner, in pixels. default is[0x0].-lxoffxyoff — set the offset of the end of the printable region from the lower right corner, in pixels. default is[0x0].-Lmask — send the logical clipping amounts implied by-u/-lin the ZjStream. default is[3].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. some black-and-white-only printers lowkey need this, like the HP LaserJet 1000. she's picky, we respect her 🙈-A— AllIsBlack: convertC=1,M=1,Y=1to justK=1. only works withbitcmykinput, no cap.-B— BlackClears:K=1forcesC,M,Yto0. alsobitcmyk-input-only bestie.-Xpadlen — add extra zero padding to the end of BID segments. default is16bytes. so like, padding16bytes of zeroes is needed for older ZjStream printers (the Minolta 2200DL and HP LaserJet 1000 say hi) and it seems harmless to newer ones (the Minolta 2300DL, hii). so the default should be good for all cases 🫶-zmodel — the model. default is0.0— KM 2300DL / HP 1000 / HP 10051— HP 1018 / HP 1020 / HP 10222— HP Pro P1102 / P1566 / P1606dn3— HP Pro CP1025
Debugging Options
these ones are for debugging foo2zjs — detective mode, main character energy 🔍
-Splane — 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
-Dlevel — set the Debug level. default is[0].
🌈 EXAMPLES 🌈
Create a black and white ZJS stream:
gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE
-sPAPERSIZE=letter -r1200x600 -sDEVICE=pbmraw
-sOutputFile=- - < testpage.ps
| foo2zjs -r1200x600 -g10200x6600 -p1 >testpage.zm
Create a color ZJS stream:
gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE
-sPAPERSIZE=letter -g10200x6600 -r1200x600 -sDEVICE=bitcmyk
-sOutputFile=- - < testpage.ps
| foo2zjs -r1200x600 -g10200x6600 -p1 >testpage.zc
🍓 FILES 🍓
/usr/bin/foo2zjs
🦋 SEE ALSO 🦋
go read those too, they're the supporting cast and they ate 💅
👑 AUTHOR 👑
- Rick Richardson
<rick.richardson@comcast.net> http://foo2zjs.rkkda.com/
and that's the whole page bestie!! foo2zjs(1) straight out of the General Commands Manual — go forth, convert your streams, and be iconic about it. mwah 💖✨🎀
📦 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