A parallel port as seeen by old dumbish printers is just eight bits of output data, a strobe to indicate a new byte is there, and a busy signal to tell the PC to hold off sending more data + a few status lines. IIRC there's a FTDI USB <=> parallel chip that can handle that more or less auto-magically, but then you'll have to code to FTDI's propriatary drivers on the PC side.
If you use a MCU with USB and a parallel slave port, you can do the same with more control over the format of the data the PC is presented with. e.g. masquerade as a COM port and stream the PCL to the PC, to log to a file for later processing by a graphics program that understands PCL import.
You could even handle the job on an Arduino, provided you added an external flipflop to handle the strobe/busy handshaking to 'hold off' the data stream till your sketch has processed the current byte. Hint: Strobe goes to Set, then the Arduino clocks in a '0' to clear the busy signal. I cant remember whether the handshakes are active high or active low so there may be a few inverters involved.