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.851 ]

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

Instalando OpenBSD no vmware

Semantic Forms no MediaWiki

Jaulas com debootstrap e schroot

Por que a interface Unity é melhor que as interfaces do Windows 7 e MacOS X

Instalando Zabbix no CentOS 7

  
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