The voltage levels are not a problem, a LVTTL logical '1' will also be a TTL logical '1'. The only issue can be the (sinking) current, as Alex Chamberlain already suggested. This can be a problem.
This sinking current depends on the input circuit of the printer, as we can only guess how it is constructed, it might be better to be safe then sorry!
So to be safe put a CMOS buffer in between. A 74LCX244 for example. If something would start to smoke then, it will not be your Raspberry Pi.
I noticed criticism about the current statements, to back this statement up:
Quote from klabs.org:
- CMOS output stages can also be tricky and subtle device characteristics can cause errors. Check all specifications carefully! For example, many CMOS devices when driving loads are specified at only very low current levels for high or logic '1' signals. However, TTL inputs take substantial currents and do not present the high impedance seen by CMOS FET inputs and the output may be dragged down.
More information about this current issue here: 5 V TTL and CMOS Input and Output Voltage Levels:
- CMOS -> TTL: you may need a buffer to handle extra sinking current when
CMOS output goes low
Hope this helps.