Imprimir um documento pelo terminal usando Samba

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"');

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Enter Captcha Here : *

Reload Image