Skip to main content
. 2018 Apr 18;8(27):14765–14774. doi: 10.1039/c8ra00756j

Fig. 2. (a) When printing in Ubuntu 16.04, a document could be printed using the CUPS commands of either the Gutenprint or Epson drivers. We used Gutenprint, which is an open source software. (b) To clarify which language the printer reads, a printer output file should be obtained. To begin with, a virtual file printer was created. A postscript file was sent to the virtual file printer, which generates print spooler output (output.prn). This hexadecimal file was intercepted and decoded using the Gutenprint Parse tool ESC/P2 commands. With the ESC/P2 programming guide, the commands were understood and knowledge about access to the individual nozzles and choice to dispense three different droplet volumes was obtained. With this knowledge, programs were written in a higher level language (Python) to generate appropriate ESC/P2 commands to address and activate the desired nozzles and volumes to dispense. (c) Using the developed Python command generator, ESC/P2 commands were converted to a hexadecimal print file (newfile.prn). Using the CUPS print commands in Linux (with the option-oraw), the file was directly sent to the printer with access to the desired nozzles, droplet size and position of dispensing.

Fig. 2