When a PC wants to send data to a printer, it sends it either through a parallel port, a serial port or a network connection.
When using a parallel port, the computer sends the data 1 byte at a time (8 bits in parallel, as opposed to 8 bits serially as in a serial port). With each byte sent out, it sends a handshaking signal so the printer can latch the byte.
If you want to accept data from a parallel port, all you really need is an 8-bit latch and a little glue logic.
Here are some interesting links: