logoalt Hacker News

How to build a printer

346 pointsby cat-whispereryesterday at 9:22 PM75 commentsview on HN

Comments

ValdikSStoday 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).

show 3 replies
pimterrytoday 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.

show 1 reply
alternativeworltoday 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.

show 2 replies
tapiatoday 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

show 1 reply
kitdtoday 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.

show 1 reply
yeasin-arafattoday 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.

show 1 reply
ks2048today at 12:29 AM

Good job, but I’m left wanting to know how to build a printer.

show 3 replies
e12etoday 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/

jiehongtoday 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.

jarbootyesterday at 11:24 PM

This is amazing!!! It just makes sense. And its just how you would want to use a e reader.

show 1 reply
Wilson2000today at 9:19 AM

Love this!

greazytoday 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?

show 4 replies
joshmarinaccitoday at 12:23 AM

I love the concept, but I wonder why he wasn’t printing to PDF. Can this device not render PDFs?

show 4 replies
stavrosyesterday 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.

show 3 replies
sho_hntoday at 12:00 AM

This is a fantastic idea!

NDlurkertoday at 12:44 AM

Very cool. I'll be updating to this fork

show 1 reply
andyfilms1yesterday at 11:20 PM

We finally have PADDs from Star Trek!

show 1 reply
Brian_K_Whiteyesterday at 10:42 PM

Outstanding! This is so...correct.

phoenixtaotoday at 3:32 AM

[dead]