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.
  • -d duplex — the duplex code you send to the printer. default is [1].
    • 1 — off
    • 2 — long edge
    • 3 — short edge
  • -g xpixxypix — set the page dimensions in pixels. default is [10200x6600]. note the lil x between the two numbers, that's not a typo, that's the format bestie 🫶
  • -m media — 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 · 1
  • transparency — 2 · 2 · 2 · 2 · 2
  • envelope — 257 · na · 267 · 267 · 267
  • letterhead — 259 · na · 513 · 513 · 513
  • bond — na · na · 260 · 260 · 260
  • thick — 261 · 4 · 261 · na · na
  • postcard — 262 · na · na · na · na
  • rough — na · na · 263 · 263 · 263
  • heavy — na · na · 262 · 262 · 262
  • labels — 263 · 3 · 263 · 265 · 265
  • vellum — na · na · 273 · 273 · 273
  • medium — na · na · na · 282 · 282
  • extraheavy — na · na · na · 283 · 283
  • color — na · na · 512 · 512 · 512
  • light — na · na · 258 · 258 · 258
  • preprinted — na · na · 514 · 514 · 514
  • prepunched — na · na · 515 · 515 · 515
  • recycled — na · na · 516 · 516 · 516
  • -p paper — 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 · 1
  • legal — 5 · 5 · 5 · 5
  • executive — 7 · 7 · 7 · 7
  • A4 — 9 · 9 · 9 · 9
  • A5 — 11 · 11 · 11 · 11
  • B5jis — 13 · 13 · 13 · 13
  • env #10 — 20 · 20 · 20 · 20
  • env DL — 27 · 27 · 27 · 27
  • env CL — 28 · 28 · 28 · 28
  • env B5 — 34 · 34 · 34 · 34
  • env Monarch — 37 · 37 · 37 · 37
  • postcard (japan) — na · 260 · 43 · 43
  • B5iso — na · 259 · na · na
  • A6 — na · 262 · 70 · 70
  • double postcard rotated — na · 261 · 82 · 82
  • 16k 197x273 — na · 257 · 257 · 257
  • fanfold german legal legal — na · 258 · 258 · 258
  • 16k 184x260 — na · na · 263 · 263
  • 16k 195x270 — na · na · 264 · 264
  • photo 4x6 — na · na · na · 268
  • photo 5x8 — na · na · na · 269
  • photo 10x15 — na · na · na · 270
  • -n copies — how many copies. default is [1].
  • -r xresxyres — set the device resolution in pixels/inch. default is [1200x600].
  • -s source — the Source (InputSlot) code you send to the printer. default is [7].
    • 1 — upper
    • 4 — manual
    • 2 — lower
    • 7 — auto
  • -t — Draft mode. every other pixel is white. she's on a diet, she's minimal, she's giving economy 💀
  • -T density — print density, range 1-5. default is 3 (medium).
  • -J filename — the filename string you send to the printer.
  • -U username — 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 🎀

  • -u xoffxyoff — set the offset of the start of the printable region from the upper left corner, in pixels. default is [0x0].
  • -l xoffxyoff — set the offset of the end of the printable region from the lower right corner, in pixels. default is [0x0].
  • -L mask — send the logical clipping amounts implied by -u/-l in the ZjStream. default is [3].
    • 0 — don't send any logical clipping amounts
    • 1 — only send Y clipping amount
    • 2 — only send X clipping amount
    • 3 — send both X and Y clipping amounts
  • -P — do not send START_PLANE codes 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: convert C=1,M=1,Y=1 to just K=1. only works with bitcmyk input, no cap.
  • -B — BlackClears: K=1 forces C,M,Y to 0. also bitcmyk-input-only bestie.
  • -X padlen — add extra zero padding to the end of BID segments. default is 16 bytes. so like, padding 16 bytes 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 🫶
  • -z model — the model. default is 0.
    • 0 — KM 2300DL / HP 1000 / HP 1005
    • 1 — HP 1018 / HP 1020 / HP 1022
    • 2 — HP Pro P1102 / P1566 / P1606dn
    • 3 — HP Pro CP1025

Debugging Options

these ones are for debugging foo2zjs — detective mode, main character energy 🔍

  • -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 — Cyan
    • 2 — Magenta
    • 3 — Yellow
    • 4 — Black
  • -D level — 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 👑


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