By passing the print job data to the Emulators and Datastream Interpreters immediately, these additional functions within the printer of the present invention can assist in determining the end of a job (i.e., by looking at parameters other than a relatively long time-out period waiting for new data to arrive).