Impressora JPG no Linux compartilhada para Windows

Eis um sistema híbrido para geração de JPG de alta qualidade a partir do Linux que pode ser usado para programas Windows. São scripts trabalhando em seqüência em vários ambientes para produzir o resultado. Aproveito para exibir os scripts em VBA do Solidworks, que permitem salvar em múltiplos formatos e a técnica que eu utilizei para juntá-los à geração JPG no Linux.

[ Hits: 22.800 ]

Por: Hernandi F. Krammes em 03/12/2005


Criando a impressora no Samba



Criei a impressora JPG no Samba:

[jpg]
    printing = bsd
    comment = Impressora JPG
    path = /tmp
    printable = yes
    browseable = yes
    guest ok = yes
    valid users = @bas
    write list = @bas
    print command = /usr/bin/printjpg %s %u
    lpq command =
    lprm command =

E o script no Linux para processar o arquivo JPG enviado pelo Samba:

# vim /usr/bin/printjpg

#!/bin/bash
# Script para impressão de PostScript para JPG
# Entrada pelo programa externo samba
# salva o documento com o nome armazenado em "%%Title: "
# Feito por Hernandi Krammes F. - 12-09-2005
# $1 é o nome do arquivo
# $2 é o nome do usuario
# usa a data como nome do arquivo temporário
# evita problemas sérios quando 2 pessoas mandam imprimir ao mesmo tempo

DATE=`date +%b%d-%H%M`
tmp="/tmp/$DATE"
nomearquivo=`grep -m 1 -i "%%Title" "$1" |cut -f 2- -d' '|cut -f 1 -d'.'|sed -e 's/[ ()]$
echo "$nomearquivo"
echo "Iniciando Processamento"
# extrai o nome do arquivo com o máximo de precisão possível campo TITTLE
echo "convertendo para BMP"
ps2bmp -f bmp16m -s 5 "$1" "$1.bmp"
# processa o BMP para jpg e deleta o arquivo BMP gerado
echo "convertendo arquivo BMP->JPEG"
cjpeg -quality 40 -optimize -outfile "$tmp.jpg" "$1.bmp"
mv "$tmp.jpg" "/saida/$nomearquivo.jpg"
rm "$1.bmp"
rm "$1"

# chmod 755 /usr/bin/printjpg

Ainda, não podia me esquecer; a geração do arquivo PS para JPG é feita pelo ghostscript.

Mas eu ainda passo ela para um outro script que encontrei na internet, que tem o link abaixo para download, que ajusta a página de saída do JPG e a resolução certinhos, na medida exata que você precisa. Assim meu script de geração, o printpdf, não precisa se preocupar com quilos de parâmetros.

Este script tem que existir, senão a coisa não anda. Até anda, mas daí você terá que substituir a linha do script do Linux ps2bmp -f bmp16m -s 5 "$1" "$1.bmp" para gs ... É simples a utilização do GS, mas mais seguro o script ps2bmp, tanto que ele diz o seguinte na sua sinopse: Getting around nasty ps bugs.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Primeira macro para o Solid
   3. Criando a impressora no Samba
   4. Script ps2bmp 18KB
   5. Considerações finais
Outros artigos deste autor

Impressora PDF via Samba para estações Windows

Leitura recomendada

Monitorando a temperatura do computador com lm_sensors + MRTG

Instalando o Fedora Core 5 para iniciantes

Instalando o Macromedia Flash MX no Debian

Por quê?

VPN com Openswan e Iptables (fazendo NAT)

  
Comentários
[1] Comentário enviado por hernandi em 03/12/2005 - 15:18h

ATENÇÃO
Marinheiro de primeira viagem sempre esqueçe alguma coisa.
Tenho uma correção a colocar aqui. Faltou o link para o script ps2bmp.
Deixo o link aqui:

http://dinf.unicruz.edu.br/~hernandi/ps2bmp
Obrigado

[2] Comentário enviado por lipse em 03/12/2005 - 17:06h

Há um probleminha no script na linha "nomearquivo=...". O problema está relacionado ao não fechamento de aspas, mas não entendi a sintaxe e por isso não sei ao certo onde adicionar uma. Adicionei uma ` (crase) ao final para fechar a linha, mas falta algo.

[3] Comentário enviado por hernandi em 03/12/2005 - 17:51h

No script da secao 3-criando a impressora no samba, realmente faltou uma "crase". na linha onde se extrai o nome do arquivo.
Ela deve ficar assim:

nomearquivo=`grep -m 1 -i "%%Title" "$1" |cut -f 2- -d' '|cut -f 1 -d'.'|sed -e 's/[\n\r()]//g'`

Desculpem-me.

[4] Comentário enviado por dtux em 21/06/2008 - 21:27h

ATENÇÃO
O link di ps2bmp está quebrado tem como enviar por e-mail ou postar aki

[5] Comentário enviado por lipse em 21/06/2008 - 23:58h

Diego, tem uma versão do ps2bmp no seguinte link:

http://www.brics.dk/~omoeller/share/ps2bmp

Boa sorte!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts