Existe uma forma simples de enviar um documento texto diretamente para uma impressora compartilhada na rede via linha de comando usando o SAMBA, mas especificamente o comando smbclient.
Antes de tudo será necessário instalar o Samba no computador caso não possua, em uma distribuição baseada em Ubuntu basta digitar:
$ sudo apt install samba
Comando simples informando o usuário e senha para autenticação ao computador remoto:
$ smbclient "\\\\your.server.com\\YourSharedPrinter" -U "Domain\User" -c "print YouFileToPrint"
Para que não seja necessário informar sempre o usuário e senha do computador remoto onde a impressa está instalada será necessário criar um arquivo de autotennticação:
cat ~/.smbclient.conf
username=fboender
password=s3cr3t
Comando usando o arquivo de autenticação criado:
$ smbclient -A ~/.smbclient.conf //192.168.10.10/MyShare
Podemos usar o comando para imprimir da maioria das linguagens de programação, no caso do PHP podemos usa ro shell_exec() que executa comandos no terminal e retorna o valor:
shell_exec()
echo shell_exec('smbclient "\\\\\\ip_or_name_computer\\\\nameofprintshare" -A /home/administrador/.smbclient.conf -c "print /home/..../file_to_print"');