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: 20.170 ]

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

Instalando e Configurando o SAMBA3 no FreeBSD 8.1 Release

Samba e as "vulnerabilidades" encontradas

Configurando administradores de domínio no Samba

Solução para Samba e Fedora 5 com HD serial ATA

Linux autenticando no AD e rodando LTSP com DHCP (Windows 2003)

  
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

[18] Comentário enviado por rrafaellima em 20/01/2016 - 16:43h

Olá. Fiz tudo como descrito, no debian, porem, a impressora é compartilhada, o diretório aonde os arquivos serão salvos, mas não tenho acesso ao diretorio. Sempre que clico, pede login e senha. Mesmo digitando, não acessa. Alguém pode me ajudar?

Obrigado.

Rafael Lima


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts