Seems you are moving a report from a fanfold paper printer to a Windows printer, true?
I did it once.
First, you have to use a fixed pitch font like Courier or Lucida Console.
Second, it’s best to set the paper in landscape so the font sizes are readable.
Third, it the program that produces the data is a DOS program, or something similar, then the encoding might be different with the special characters like @ or $ printing differently.
Another issue was the page length, the printing parameters had to be set so that printed page ends were in sync with the input page heights, by tweaking the report production software or the printing parameters.
And, always assuming that you are handling DOS output, another issue was to detect the end of the printing process, this does not apply if you process an already finished file. In my case I made an automatic printing gear. One way is to monitor a folder and print any new file appearing there, it can be done with VB6.