Este artigo descreve um processo simples através do qual é possível gerar arquivos PDF diretamente pelo Samba.
Dê uma olhada nos comentários pois acrescentei recursos para imprimir no diretório do usuário, com o nome enviado pelo windows e impressão colorida.
Confira!
Após ter instalado o servidor, o GhostScript, configurado o
SAMBA e testado as suas configurações através do cliente
Windows, faça o seguinte:
1. Crie um diretório em um local conveniente chamado, por
exemplo, "pdf".
2. Crie um compartilhamento (share) no SAMBA para este
diretório, no exemplo chamaremos de "Impressos". As linhas a serem
adicionadas no smb.conf são:
[Impressos]
path = /pdf
browseable = yes
writeable = yes
guest ok = yes
force user = nobody
3. Crie uma impressora compartilhada no SAMBA, que na verdade
quando utilizada irá executar um script específico. Para fazer
isso adicione as seguintes linhas ao smb.conf. Neste
exemplo chamei a impressora de "pdf":
[2] Comentário enviado por agk em 17/09/2004 - 14:52h
Parabéns, excelente artigo, é impressionante as possibilidades que temos usando software livre. O melhor de tudo é que dá para guardar em pdf a impressão de qualquer aplicativo, muito bom mesmo, valeu.
[6] Comentário enviado por fbonilha em 22/09/2004 - 11:28h
Antes de mais nada gostaria de agradecer a todos que contribuiram com seus comentários, dicas, etc...
Com relação ao ponto de ajustes colocados pelo Cabelo, lembrem-se de que no início do artigo diz:
1) A distribuição que fiz a configuração é RedHat
2) Que não abordaria detalhes sobre a configuração do Samba, que é justamente onde diferem alguns pontos, especialmente no quesito Cups x BSD, ficando esses detalhes a cargo do responsável pela configuração
3) Tentarei no próximo artigo abordar as configurações em outras distribuições e/ou abordar outros pontos nas variações de configuração.
[13] Comentário enviado por reimassupilami em 18/02/2005 - 13:59h
cara, q idéia massa mesmo!!! legal ae a idéia... pra mim vai ser ótimo se rodar aqui, pois estou precisando gerar vários pdfs, e todos programas q ja testei só me decepcionaram...
bom, tive o seguinte problema: quando mando a impressão, no servidor da essa mensagem no log:
Unable to connect to CUPS server localhost - Connection refused
ou seja, parece q ele precisa de alguma coisa do cups pra rodar, é isso?
[14] Comentário enviado por davidsonpaulo em 05/03/2005 - 10:47h
Bom... aqui não funcionou... mas eu fiz a configuração bem rapidamente e, além disso, aqui na empresas eles ainda usam uma porcaria duma rede Novell que é um lixo... talvez esteja dando alguma incompatibilidade, sei lá... qualquer dia desses eu tento com mais calma...
[16] Comentário enviado por reimassupilami em 14/03/2005 - 09:53h
pow, aki funcionou perfeitamente... foi a melhor solução que já encontrei para criar pdf de qualquer arquivo, dessa maneira... alguns programinhas que testei sempre zoavam o arquivo, naum aparecia imagem, etc...
[17] Comentário enviado por reimassupilami em 14/04/2005 - 16:45h
agora to com uma dúvida aqui pra personalizar melhor isso: tem alguma forma de ao invés de gerar o arquivo com data e horario, gerar com o nome do arquivo original, mas com o .pdf na frente? naum sei se tem alguma variavel q pega isso... tem?
preciso converter uma grande quantidade de arquivos pra pdf, dae para renomear um por um vai ser complicado... por exemplo, gostaria que ao imprimir um arquivo teste.doc fosse gerado um arquivo teste.pf... é possivel?
# Source config file if it exists:
CONFFILE=/etc/samba/print-pdf.conf
[ -e $CONFFILE ] && . $CONFFILE
#Values not taken as arguments, could be set via env. vars (?) or config file
KEEP_PS=${KEEP_PS=0}
PERMS=${PERMS=640}
BASEFILE=${BASEFILE=pdf-service}
TEMP="${TEMP=$2}"
UMASK=${UMASK=006}
#Make sure that destination directory exists
mkdir -p "$PREFIX"
INFILE=$(basename $INPUT)
umask $UMASK
[ -n "$NAME" ] && TEMP="$PREFIX"
#make a temp file to use for the output of the PDF
OUTPUT=`mktemp -q $TEMP/$BASEFILE-XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file $TEMP/$OUTPUT, exiting..."
exit 1
fi
if [ -n "$NAME" ]; then
FINALOUTPUT="$PREFIX/$NAME"
else
FINALOUTPUT="$OUTPUT"
fi
if [ -n "$7" ]; then
OPTIONS="$OPTIONS -dPDFSETTINGS=/${7#pdf-}"
else
OPTIONS="$OPTIONS -dPDFSETTINGS=/default"
fi
[21] Comentário enviado por reimassupilami em 29/04/2005 - 11:03h
hum, não consegui funcionar não hein... fiquei em dúvida com relação aos parametros... parece que naum tem nenhum lugar q informa o local onde os arquivos serão gravados...