foo2hbpl2(1)

🌸 NAME 🌸

foo2hbpl2 β€” bestie, it converts Ghostscript pbmraw or bitcmyk format into a ZJS printer stream. πŸ’…


✨ SYNOPSIS ✨

foo2hbpl2 [options] <pbmraw-file >hbpl2-file

foo2hbpl2 [options] <bitcmyk-file >hbpl2-file

foo2hbpl2 [options] <pksmraw-file >hbpl2-file

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so here's the tea: foo2hbpl2 takes Ghostscript pbmraw, bitcmyk, or pksmraw output formats and turns them into monochrome or color HBPL version 2 streams β€” which is the whole entire point, because that's what actually drives these printers:

  • Dell 1355
  • Dell C1765
  • Epson AcuLaser M1400
  • Epson AcuLaser CX17NF
  • Fuji Xerox DocuPrint CM205
  • Fuji Xerox DocuPrint CM215
  • Fuji Xerox DocuPrint M215
  • Fuji Xerox DocuPrint P205
  • Xerox Phaser 3010
  • Xerox Phaser 3040
  • Xerox WorkCentre 3045 MFP
  • Xerox WorkCentre 6015 MFP

Not me listing the whole squad. 😭 But fr fr, if your printer's in that list, this is your girl.


πŸ‘‘ COMMAND LINE OPTIONS πŸ‘‘

πŸ’– Normal Options πŸ’–

These are the options used to select the parameters of a print job that are usually controlled on a per job basis. The everyday ones, yk? The main character settings.

  • -c β€” Force color mode if autodetect doesn't work. Autodetect said no and we said periodt. πŸŽ€
  • -d duplex β€” Duplex code to send to printer [1].
    • 1 β€” off
    • 2 β€” long edge
    • 3 β€” short edge
  • -g xpixxypix β€” Set page dimensions in pixels [10200x6600]. The x in the middle is literally an x, bestie, don't come for me. πŸ™ˆ
  • -m media β€” Media code to send to printer [1].
    • 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 code to send to printer [1].
    • 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
  • -n copies β€” Number of copies [1]. Print it a bunch, go off. ✨
  • -r xresxyres β€” Set device resolution in pixels/inch [1200x600].
  • -s source β€” Source (InputSlot) code to send to printer [7].
    • 1 β€” upper
    • 2 β€” lower
    • 4 β€” manual
    • 7 β€” auto
  • -t β€” Draft mode. Every other pixel is white. Lowkey a glow-down on purpose, and that's the assignment. πŸ’€
  • -J filename β€” Filename string to send to printer.
  • -U username β€” Username string to send to printer.

πŸŽ€ Printer Tweaking Options πŸŽ€

These are the options used to customize the operation of foo2hbpl2 for a particular printer. This is the "make it fit my specific printer" section, iykyk.

  • -u xoffxyoff β€” Set the offset of the start of the printable region from the upper left corner, in pixels [0x0].
  • -l xoffxyoff β€” Set the offset of the end of the printable region from the lower right corner, in pixels [0x0].
  • -L mask β€” Send logical clipping amounts implied by -u/-l in the ZjStream [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. May be needed by some black and white only printers, such as the HP LaserJet 1000.
  • -A β€” AllIsBlack: convert C=1,M=1,Y=1 to just K=1. Works with bitcmyk input only.
  • -B β€” BlackClears: K=1 forces C,M,Y to 0. Works with bitcmyk input only.
  • -X padlen β€” Add extra zero padding to the end of BID segments. The default is 16 bytes. Padding 16 bytes of zeroes is needed for older ZjStream printers, such as the Minolta 2200DL and HP LaserJet 1000, and seems harmless to newer ones, such as the Minolta 2300DL. So the default should be good for all cases. Bestie the default is serving, leave it alone. 🫢

πŸ”₯ Debugging Options πŸ”₯

These options are used for debugging foo2hbpl2. Detective mode activated, magnifying glass out. πŸ•΅οΈ

  • -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 Debug level [0].

🌈 EXAMPLES 🌈

Create a black and white ZJS stream:

gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE
    -sPAPERSIZE=letter -r1200x600 -sDEVICE=pbmraw
    -sOutputFile=- - < testpage.ps
| foo2hbpl2 -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
| foo2hbpl2 -r1200x600 -g10200x6600 -p1 >testpage.zc

Copy-paste these exactly, okay? Character for character. No improvising. πŸ™


πŸ“ FILES πŸ“

  • /usr/bin/foo2hbpl2

That's it. That's the file. Iconic minimalism. πŸ’œ


🧚 SEE ALSO 🧚

Go read those too, bestie, they're part of the lore. ⭐


πŸ’… AUTHOR πŸ’…


Okay so that's the whole page! πŸ¦‹ It lives in the General Commands Manual, the title up top is foo2hbpl2(1) and yes the footer is literally just the same thing echoed back at you β€” the manual loves a lil mirror moment. πŸ’– No cap, you're now officially fluent. Slay. βœ¨πŸ‘‘πŸŽ€
πŸ“¦ where this page comes from