The parallel to serial conversions and Arduino pin-count issues renders the parallel approach a non-starter. As someone who has actually
made a
working printer solution for the Arduino (one of the very few, from what I can tell), it's still my opinion the solution below is optimum, as of this writing.
1) Acquire an RS232 serial shield. If from
http://www.cutedigi.com, then these three Mods will be required:
MOD1: Bend shield pins 0 and 1 so they do not plug into the Arduino serial dedicated digital IO pins. This allows the Arduino serial com to remain available to sketch uploading and USB debugging.
MOD2: Add jumpers between whatever two ports you wish to use as printer IO pins and the RS232 shield pins 0 and 1 (remember - we bent the shield pins so they are no longer talking to the Arduino, but the RS232 shield is still expecting TTL-level serial data on its pins 0 and 1 anyway. The jumpers will "fool" the shield into believing data is from Arduino pins 0 and 1, when actually the signals are coming from whatever Arduino pins you jumper them to.)
MOD3: Add a reset button to the RESET and GND pins. Grrr. The shield completely covers the Arduino reset button. Who designs things this way?
2) Plug in your receipt printer to the DB9 socket of the shield and start churning out paper.
Believe it or not, it's that simple. Why someone hasn't make a decent printer shield is beyond me. It took me a year to find this one. I spoke with the support person for the RS232 shield suggesting they improve their board to address its these mods. For some reason, I might as well have been speaking Martian.
Hacking is an addiction. Arduino is the gateway drug.