1. An apparatus for reading data encoded as an array of dots carried on a substrate, the substrate carrying an image, and the array being substantially invisible to an average unaided human eye, the apparatus comprising: a light source for illuminating the substrate; a detector for receiving the illumination from the light source reflected off the substrate, and detecting the array of dots on the substrate, the detector outputting a first signal representative thereof; a decoder interconnected to said detector for receiving and decoding said first signal to produce a second signal corresponding to the first signal; a top substrate covering the detector and the light source, the detector having an emission portion and a reception portion, the emission portion shaped with a semicircular cross section adapted to focus illumination from the light source onto the substrate, and the reception portion shaped to define a series of microlenses adapted to focus illumination reflected off the substrate into the detector; and a printer that prints information derived from said second signal onto media, wherein the information printed includes the image and the data, and the data printed by the printer is encoded as an array of dots being substantially invisible to an average unaided human eye.