A while ago I contributed the `printBitmap` functions to the Adafruit arduino thermal printer library; you should be able to use the `Stream` variant to open a `File` on an SD card and print from that:
To answer your question about the TMP file, this is actually a raw series of commands to be sent directly to the printer, including initializing it, setting the thermal settings and then sending the correct bytes and bitmap information to make the printer produce the correct image. It’s not actually the bitmap itself, so it’s not suitable for use withe the `printBitmap` function, unfortunately.
— James