I still have the best Results using the PaperBack tool. It was able to automatically recover all data I printed until now, even a more than six year old copy printed using an inkjet printer that was bleached out a bit already.
I described my exact process here. I don't trust the included encryption, so I always encrypt the files with a different software.
The tool is windows only but open source and works fine using wine.
To your question "is there any difference between a paper key and a paper keyfile?":
A keyfile can contain arbitrary binary data. You cannot print that. Even if you where to only use basic ASCII, how would you get the difference between a space character or a tab character? How would you see the difference between a windows or a unix linebreak on paper? How would you see if there was just the end of the paper reached or an actual linebreak in the data? Even if you use just visible ASCII characters, you have to make sure to know which encoding was used in the file, if there is a linebreak at the end of the file (on Unix/Linux systems it's hard to create a file without one), if yes, which linebreak, is there a BOM marker at the start of the file, ... And you either need to write all of that down or remember it when entering the data again. So I wouldn't suggest that.
To not deal with that, you need to encode the file. You can encode it to text, e.g. Base64, or to something image based.
The downside of simple base64 is, that you have to use OCR or type the letters and there is no redundancy and no error check. If you misread a letter, you get a keyfile. It is just not the correct one.
Better systems solve that by having error checking and even redundancy based error correction. So even if part of your printed key is unreadable, the error will be automatically corrected and you get the correct keyfile.
And if too much is damaged, you get at least the information that the print is defective and not a wrong keyfile.