set console off ??? chr(27) + "E" ??? chr(27) + "&f0y3X" ??? XY_Print( 0.1, 2.65, EmpName( empldat.cLastName, empldat.cFirstName, empldat.cSuffix ) ) ??? XY_Print( 6.2, 2.65, lcSSN ) ??? chr(27) + "&l2H" && eject page and switch to manual feed * user reinserts the page so the back can print ??? chr(27) + "E" ??? chr(27) + "&l2H" ??? chr(27) + "&f2y3X" ??? chr(27) + "&f4y3X" ??? XY_Print( 3.5, 1.95, Print_Date( empldat.dBirth ) ) ??? XY_Print( 4.9, 1.95, lcSSN ) ??? chr(27) + "&l1H" && switch back to tray feed set console on>Maybe I'm barking up the wrong tree. You are having success sending control codes using ??? but whenever I try to do that I get a 'Foxpro User-Defined Job' in the print spooler ( which I have to manually delete before any printing can take place). Sometimes I also get an error 'Error Accessing Print Spooler'. However, it does cause the printer to do the reverse line feed so that is something. What is it that you are doing that makes it work for you???