Ok, can't use the printer driver (re: prev. ans.; I take it your appl' creates dynamically changing page length so you set it to longest? NB: You can set page length in RTF, if you can calculate/estimate/pre-suppose a value; or set it at the printerif constant).
Some points about RTF (another suggestion below).
To quote from http://www.st-and.ac.uk/ITS/faq/conv/formats.html
...
Rich Text Format (RTF) or Interchange Format
This is a generic format, in that it does not belong to any single proprietary word-processor. RTF files preserve the formatting information of the word-processed file, but do not rely on the non-printable control-codes used in the proprietary file formats. RTF can be used as an intermediate format when transferring between two word-processors which cannot handle each other's proprietary format.
...
(see also http://www.biblioscape.com/rtf15_spec.htm)
RTF is used to hide printer specifics. Even when you use fonts and graphics, you can not guarantee how the printer driver would deal with it (it will invoke the binary data stream modes, forcing the printer to ignore any binary patterns are esc. codes).
When you say that the "ticket report is written in RTF", I presume that application, after taking the specifics of the trx, merges the data into a document template (perhaps in RTF, or just hardwire code) and then some invokes the printer driver (VB app with Rich Textbox control (hidden?) ?).
OK, how about getting your app, after submitting the doc for printing, immediately copy this escape esc. directly to the printer port (copy /b file or exec a DOS command string). I presume this is a dedicated printer port (parallel? serial?) that is only accessed by this application. The printer doesn't care about how continuous the print stream it receives is, as long as the it isn't longer than any present auto-timed FF actions.