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

Publicado por Pedro Coelho em 22/09/2004

[ Hits: 5.722 ]

 


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

Java da Oracle no Google Chrome

Configurando navegador padrão via terminal no Debian

Habilitando ícones do menu sistema em ambientes Gnome

OpenJDK7 64 bits e Banco do Brasil [RESOLVIDO]

Configurando o X no Debian (parte gráfica)

  

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