How to build a printer

341 points - yesterday at 9:22 PM

Source

Comments

ValdikSS today at 1:21 AM
>penguin would shrink the result to fit its screen. >I declared A5 and Letter paper, media type stationery, and an output bin called face-up.

You can (and should!) define exact dimensions of your screen in `media-size-supported`. It will probably be a non-standard IPP name, that's why you should define that in `media-supported` as `om_NNNmmxYYYmm` or `oe_NNNinxYYYin`

That way you don't need to scale the incoming data, the PC will format it exactly to the dimensions of the screen.

Both PWG Raster and Apple Raster support 1-bit-per-pixel mode (instead of 8-bit-per-pixel you use), that's why the input could be 8 times less in size. Use `print-color-mode-{supported,default}=bi-level` instead of `monochrome` for that. And also tune `urf-supported`'s `W` option, use `W1` for this case.

The screen/dithering could be ass in 1-bit mode, see https://github.com/OpenPrinting/libcupsfilters/pull/160 where I added more dithering options (Linux-only though, Apple seems to abandon their CUPS).

alternativeworl today at 1:57 AM
Very cool. I was expecting to learn about the ins and outs of ink, printheads etc but instead learned "How to build a paper that acts like a printer" which turned out much more entertaining.
pimterry today at 8:21 AM
This would be a neat API for a digital photo frame - just print photos to it and they appear on the screen.
tapia today at 5:20 AM
In Linux it's pretty easy to create such things with cups. A while ago I did a cups backend for my Fujitsu Quaderno A4 [1]. It is super useful to be able to just open any document, in any program that supports printing, and then just "print" it to my device.

[1] https://github.com/cristobaltapia/dpt-rp1-cups

kitd today at 7:19 AM
Good article.

One of the great things about having an open platform like the Xteink is that it should uncover loads of novel and unsatisfied use cases. Eg, this could be paired with a mobile phone to act as a secondary display much better suited to outdoor applications in bright sunlight.

yeasin-arafat today at 8:02 AM
Emulating a network printer to send pages to an e-ink screen is such a clever hack. Every OS already has the print dialog built in.
ks2048 today at 12:29 AM
Good job, but I’m left wanting to know how to build a printer.
e12e today at 5:06 AM
Nice. I keep wondering if these devices would play nicer with DjVu rather than pdfs and raster formats?

https://djvu.sourceforge.net/

jiehong today at 6:06 AM
Pretty cool work! And it’s nice to see printer discovery works through the standard mDNS!

Regarding the size of the page being sent to the printer, I remember reading that printers used to be postscript interpreters and the result of that program would be the page.

Perhaps that would trade ram for compute, but might be more complex in the end.

jarboot yesterday at 11:24 PM
This is amazing!!! It just makes sense. And its just how you would want to use a e reader.
Wilson2000 today at 9:19 AM
Love this!
greazy today at 12:36 AM
I don't understand the purpose. What am I missing?

The author "prints" to the eink display. Why not load say the pdf directly?

joshmarinacci today at 12:23 AM
I love the concept, but I wonder why he wasn’t printing to PDF. Can this device not render PDFs?
stavros yesterday at 11:41 PM
I've been seeing the Xteink a lot lately. Should I get an X3 or an X4? I don't really know why I want it, but I have an eInk addiction, so I just need it.
sho_hn today at 12:00 AM
This is a fantastic idea!
NDlurker today at 12:44 AM
Very cool. I'll be updating to this fork
andyfilms1 yesterday at 11:20 PM
We finally have PADDs from Star Trek!
Brian_K_White yesterday at 10:42 PM
Outstanding! This is so...correct.
phoenixtao today at 3:32 AM
[dead]