Enriquecendo o artigo II: Gerando arquivos PDF através do SAMBA
Dica publicada em Linux / Configuração
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):
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
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
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 ?