Yo desarrolle un sistema en PHP para un cliente (una empresa local), el sistema estaba desarrollado inicialmente para administrar clientes, proveedores y empleados, llevar un control de los procesos, etc... después el sistema creció y me pidieron que agregara una sección de pagos, en esa empresa la mayoría de los pagos son en efectivo y se les entrega un recibo a los clientes, en la empresa creaban el recibo en excel y lo imprimían, por lo que no había problema, el sistema generaba un excel y listo, pero después integraron una impresora de tickets, de esas de punto de venta y ahí si que fue un dolor de cabeza hacerla funcionar pues el sistema corre en un servidor web y la impresora en una computadora local por lo que tuve que romperme la cabeza muchas horas.
Al final lo que hice fue que el sistema en PHP genera un XML con los datos del recibo y en .NET programe un a pequeña aplicación que se conecta al servidor, lee el XML usando internet y genera el recibo y lo imprime en la impresora de tickets. En la interfaz de usuario de la aplicación solo puse un botón.
Lo único malo es que el proceso no es 100% automático pues después de capturar el recibo en el sistema web es necesario abrir la aplicación y hacer click en un botón para imprimir el ticket.