Enriquecendo o artigo II: Gerando arquivos PDF através do SAMBA

Publicado por Pedro Coelho em 22/09/2004

[ Hits: 5.698 ]

 


Enriquecendo o artigo II: Gerando arquivos PDF através do SAMBA



Acrescentando mais uma dica em relação aos excelentes artigos de Fabio Bonilha e do Cabelo:
Verifiquei que ao invés de criarmos um diretório para os impressos .pdf, podemos direcioná-los para o diretório pessoal do usuário mudando apenas a linha OUTDIR do arquivo printpdf (estou transcrevendo a sugestão do Cabelo):

#!/bin/sh

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

Percebam que alterei a linha OUTDIR=/rede2/public/pdf para o diretório do usuário que chamou a impressão.

No meu caso cada usuário possui uma pasta pessoal com seu nome no diretório /home. Fiz esse teste e funcionou, espero que funcione para vocês também.

Pedro Coelho

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Instalando fontes do Android no Slackware/Zenwalk

Nginx - Redirecionando www para apenas o nome do domínio ou vice-versa

Ubuntu Ultimate Edition 1.4 (DVD)

Como usar o i3 como gerenciador de janelas no KDE plasma

Habilitando e desabilitando o IPv6 no Debian

  

Comentários
[1] Comentário enviado por rmcarv em 22/09/2004 - 14:12h

Otimos artigos!
O unico problema é que para mim só está funcionando para o administrador, para os outros usuários quando eu mando imprimir ele sequer joga no /tmp o arquivo PS. Dei permissão 777 em tudo para ter certeza porém não funfa... Alguma dica???

No smb.conf adicionei:

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


E o meu script está assim:
#!/bin/sh
# /root/bin/printpdf.sh
# 20040922 Rodrigo Miranda Carvalhaes

# Parametros passados pelo samba:
# $1 = data/hota
# $2 = nome usuario samba
# $3 = nome maquina samba

# Nome arquivo que sera gerado PDF
ARQUIVO=`date +%d-%m-%Y-%H-%M-%S-$2-$3.pdf`

# Diretorio do arquivo aonde sera gravado PDF
OUTDIR=/home/$2

# Converte de PS para PDF...
ps2pdf $1 $OUTDIR/$ARQUIVO.temp

# Renomeia o arquivo...
mv $OUTDIR/$ARQUIVO.temp $OUTDIR/$ARQUIVO

# Envia mensagem para o usuario informando o nome do arquivo...
echo "$ARQUIVO gerado com sucesso!" | /usr/local/samba/bin/smbclient -M $3 > /dev/null

# Remove o arquivo temporario gravado em /tmp (PS)
rm $1

DICAS ?

[2] Comentário enviado por cmercaldo em 28/01/2005 - 13:47h

Procure ver as permissões do diretório /home/USUARIO. Eu criei uma pasta publica no OUTDIR. Ex. OUTDIR=/arquivos/impressos/
O diretorio impressos esta com a permissão 2777 (Pode haver 2 usuario tentando imprimir o mesmo arquivo). FUCIONA MUITO BEM !

Parabéns ao colega de site Pedro Coelho !

Att.
Claudio Mercaldo

[3] Comentário enviado por hujmcba em 22/11/2005 - 09:22h

Olá pessoal, muito bom o artigo... tem como adaptar esta dica pra que PHP manda documentos pra esta impressora virtual pra serem convertidos em pdf? Conto com a ajuda de vcs.. Até logo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts