Impressora virtual no Samba para gerar arquivos PDF

Neste breve artigo aprenderemos a implementar uma impressora virtual dentro do Samba. Esta impressora, ao ser usada, gera como saída arquivos PDF dentro de um compartilhamento do Samba.

[ Hits: 14.822 ]

Por: Carlos Augusto N dos Santos em 29/10/2008


Configurando o Samba

Vamos editar o arquivo de configuração do Samba com o seguinte comando:

# vi /etc/samba/smb.conf

Adicione as seguinte linhas em sua seção de compartilhamentos (final do arquivo):

[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700

#Nessa parte vamos dizer onde os arquivos serão salvos

[impressos]
comment = Impressora Virtual
path = /arquivos/impressos/
browseable = yes
writeable = yes
guest ok = yes
force user = nobody
force group = udd


#Esse é o caminho onde ficará o script de configuração da impressora virtual

[pdf]
path = /tmp
printable = yes
guest ok = yes
print command = /usr/local/bin/printpdf %s %u %m
use client driver = yes

Feito isso o nosso Samba já esta configurado, vamos para o próximo passo.

Configurando o script da impressora virtual

Vamos criar o arquivo printpdf dentro do seguinte caminho:

# touch /usr/local/bin/printpdf

Vamos mudar a permissão do arquivo para:

# chmod 755 printpdf

Depois vamos editar o arquivo e colocar as seguintes configurações:

# vi /usr/local/bin/printpdf

#!/bin/sh

DATE=`date +%d-%m-%Y-%H-%M-%S-$2-$3.pdf`
OUTDIR=/arquivos/impressos/
ps2pdf $1 $OUTDIR/$DATE.temp
mv $OUTDIR/$DATE.temp $OUTDIR/$DATE
echo "$DATE gerado com sucesso!" | smbclient -M $3 > /dev/null
rm $1

Salve o arquivo e vamos para a próxima etapa.

Instalando o pacote do Cups-Pdf

Agora vamos instalar o pacote do cups-pdf com o seguinte comando:

# apt-get install cups-pdf

Obs.: o pacote Cups-pdf que criará os arquivos pdf da impressora virtual.

Depois da instalação do pacote vamos reiniciar o serviço do Samba:

# /etc/init.d/samba restart

Adicionando a impressora virtual dentro do Windows

Vamos clicar em: Iniciar > Executar

Jogue o endereço ip do seu servidor Samba:

Ex.: \\10.0.0.237
Linux: Adicionando impressora virtual do Samba
Aparecerá essa janela com todas essas informações, vamos clicar 2x no ícone pdf.

O Windows retornará uma mensagem dizendo que o servidor da impressora não possui o driver, clique em ok.

Depois vamos adicionar a impressora: HP Laserjet 4P/4MP Postscript.
Linux: Impressora HP Laserjet 4p/4MP Postscript
Pronto, a impressora virtual já está configurada no Windows!

Para testar basta imprimir qualquer documento para a impressora virtual, depois entre no Samba e abra a pasta "impressos" que o documento estará lá dento da seguinte forma: data, mês, ano que o documento foi impresso, nome do usuário e nome da máquina.

Espero ter ajudado com esse artigo.

Viva o Linux!!!

   

Páginas do artigo
   1. Configurando o Samba
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Servidor de arquivos integrado com Active Directory (AD) e quota de usuário/grupo

Samba: Implementando um domínio

Carregando scripts ao se logar no Samba

Configuração definitiva do Samba

Inicialização do Linux

Comentários
[1] Comentário enviado por hugobcar em 29/10/2008 - 17:07h

Amigo, acho que voce fez uma copia do artigo do "hernandi" aqui do Viva o Linux mesmo.

http://www.vivaolinux.com.br/artigo/Impressora-PDF-via-Samba-para-estacoes-Windows/?pagina=1



E o pior, sem citar as referências.

[2] Comentário enviado por carlosands em 29/10/2008 - 17:37h

Caro Amigo "hugobcar", posso te garantir que este artigo é autêntico
e que não foi cópia do nosso colega "hermandi", posso não ter citado as referências
mas vou colocar elas nos próximos artigos. Obrigado pela informação...

Viva o Linux!!!

[3] Comentário enviado por cmercaldo em 29/10/2008 - 20:45h

Caro Carlosands.

Seu artigo é perfeito e já coloquei em funcionamento. Funcionou de primeira !
Quanto ao comentário enviado pelo seu amigo (dá onça) hugobcar diga a ele que o artigo DDCLIENT dele esta igualzinho ao http://www.vivaolinux.com.br/etc/ddclient.conf-leoberbert e o pior também não possui referências....e o pior ainda nunca postou nenhum artigo.

Vá em frente e "post" mais artigos.

Parabéns!!

Att.
ClaudioM

[4] Comentário enviado por aprendiz_ce em 29/10/2008 - 23:20h

Amigos,

O samba compartilhando impressoras + o cups-pdf juntos fazem o mesmo trabalho e de forma mais enxuta. Não é necessario se criar isso ou aquilo adicionamente. Confiram: http://www.vivaolinux.com.br/dica/Geracao-de-arquivos-PDF-com-o-CUPSPDF/.

Parabéns ao autor pela contribuição.




[5] Comentário enviado por lordhulk em 30/10/2008 - 01:12h

Muito bom,
Mas eu gostaria de saber se tem um jeito de imprimir na impressora real e ter uma cópia em pdf de tudo que foi impresso, como forma de controle sobre o q é impresso.

[6] Comentário enviado por hugobcar em 30/10/2008 - 07:54h

Caro "cmercaldo" acho que precisa prestar mais atenção, minha config do ddclient foi escrita em 2005 (http://www.vivaolinux.com.br/etc/ddclient.conf-hugobcar-1), enquanto a do nosso amigo leoberbert foi escrita em 2006... se não conseguiu entender ainda, eu te explico, eu escrevi primeiro que ele... não estou falando q o do leo é copia, pq o dele está bem diferente do meu, só digo q escrevi primeiro... e outra, mesmo q nao tivesse, como é arquivo de configuração eles serao bem parecidos mesmo. Não estou criticando o Carlos não, só que ate os scripts estão parecidos e os nomes tmb...





[7] Comentário enviado por carlosands em 30/10/2008 - 09:12h

Caro "Aprendiz - CE", muito boa sua observação eu coloquei o compartilhamento do samba para poder salvar os documentos que foi gerado em pdf dentro de uma determinada pasta, para poder organizar os arquivos bem melhor e poder localizalos também, o seu artigo também e muito bom parabéns pela contribuição.

Carlos Augusto...

[8] Comentário enviado por carlosands em 30/10/2008 - 09:38h

Meu Amigo Claudio Mercaldo...

Muito obrigado pelo incentivo, fico feliz de poder estar compartilhando
o conhecimento que meu CHEFE está me ensinando, sei que ainda tenho muito que aprender pois a cada dia venho me esforçando para ter mais conhecimento no mundo Linux pois ainda tenho muito que aprender porque a nossa vida e uma escola diária onde aprendemos todos os dias, fico contente de você ter gostado do Artigo pode deixar que vou postar muito mais...

Att...
Carlos Augusto

[9] Comentário enviado por reng.unip em 30/10/2008 - 10:05h

Parabéns pelo artigo, bastante útil.

Abraço...

[10] Comentário enviado por adrianoc em 30/10/2008 - 14:52h

Gostei muito desta dica, mas é possível o nome arquivo PDF, levar o nome do usuário que mandou imprimir, e tb o próprio nome do arquivo ?
o arquivo geraldo contém data_hora_root.pdf

[11] Comentário enviado por carlosands em 30/10/2008 - 15:05h

Fala Adriano Blz....

Sim é possível levar o nome do usuário que mandou a data e hora e o nome do arquivo...

Quando vc criar o arquivo: #vi /usr/local/bin/printpdf , e jogar o script, a linha responsável para fazer isso vai ser essa: DATE=`date +%d-%m-%Y-%H-%M-%S-$2-$3.pdf`, vai ficar assim quando gerar os arquivos:
23-10-2008-14-16-59-nomedousuario-nomedamaquina.pdf.

Qualquer dúvida pode postar...

Att.

Carlos Augusto.


[12] Comentário enviado por reideer em 30/10/2008 - 16:47h

Ja utilizei muito esta maneira de imprimir em Samba.
para o amigo que pediu se é possível imprimir guardando uma copia, digolhe q é.
se não me engano vc precisa criar um script que imprime na impressora normal e chama o comando
/usr/local/bin/printpdf %s %u %m logo após, aí vc chama o script q vc criou dentro de print command na configuração do samba.

[13] Comentário enviado por maran em 31/10/2008 - 07:41h

Samba e sua inumeras possibilidades, adoro esta ferramenta !
Show de bola cara, eu quando klancei meu artigo do Samba, eu usava um script para fazer tal mudança, altomaticamente, gerando no home do usuário o arquivo já em pdf, também é legal, só que da um pouco mais de trabalho, gostei desta sua solução, no mais só posso dar 10!
Espero outras contribuições xD

Grande abraço,
Fabio Maran

[14] Comentário enviado por comfaa em 31/10/2008 - 07:54h

bem legal

[15] Comentário enviado por psych0 em 31/10/2008 - 19:45h

Meus parabéns, não ligo daonde veio o outro eu não vi o post, e esse eu vi e gostei isso que importa!
Muito Obrigado!

;)

[16] Comentário enviado por joserf em 14/09/2011 - 21:57h

No ubuntu 10.04lts nao rolou nao

[17] Comentário enviado por carlosands em 15/09/2011 - 09:15h

Fala Jose.. Blz...

Me posta aqui os erros para eu poder te ajudar...

Fico no aguardo um forte abraço...

Carlos


Contribuir com comentário