=== Text ===
Prints in a monospaced font, 24 columns, no margins. A bit ugly, but there isn't an easy way to change the print settings. What I'm trying to do right now is to figure out how to print a properly formatted page, and if that's possible, then printing text or other fancy elements would be easier.
Take [https://www.youtube.com/watch?v=hr42JjCRM-0 snapshots of pages] using [http://phantomjs.org/ phantomjs] - this allows you to take care of formatting with css and html instead of magic
=== Images ===
=== Bitcoin wallets ===
In development. Uses electrum to generate new wallets, and then generates QR codes for the public and the private keys. If there is no activity with the wallet after 6 months, the bitcoins will be taken back to avoid loss.
=== Post stamps ===
Buy post stamps via webstamp with bitcoins and then print them out.
[[File:Bitcoin_stamp.png|300px]][[File:Fixme_stamp.png|300px]]
== Printing methods ==
=== Serial print ===
Prints PNG files *instantly*. Can print various formats of labels, but has very strict sizing limits (printer crashes and must be physically powered off) which require image pre-processing. Uses (ql570)[https://github.com/sudomesh/ql570] library. You must have write permissions to the right /dev/usb or something like that.
=== CUPS print ===
Prints anything, but is a pain to set up and insecure. Also takes quite a long time to spool the file (5-10 seconds), can be a bit confusing to orient/scale document correctly.
== File generation methods ==
=== Phantomjs ===
Works great and reduces hassle of generating images (you just take a screenshot of any page), however takes ~4 seconds to launch browser. Screenshotting and all other things take less than a second. Potential solutions:
* Generate all pngs on first run or have a button to generate them
* Keep phantomjs running and pass it items (can this be done?)
* Upgrade to RPi2
=== QRencode + PIL ===
Works but takes ~5 seconds, closer to ~8s on cold run. PIL takes the longest to resize the image. A solution could be to figure out which pixel size to define for qrencode.
=== Google Chart API ===
Took ~20 seconds in total with CUPS printing and the requests. Also loss of privacy.
=== Client side generation (future) ===
Generate the image in client's browser and POST it to the printer. Haven't tried it yet.
== Resources ==