você está aqui: Home  → Arquivo de Mensagens

UserFriendly em PDF, para ler e rir à beça!

Colaboração: Ricardo Jurczyk Pinheiro

Data de Publicação: 07 de November de 2008

Não sei quantos de vocês conhecem a tirinha UserFriendly (www.userfriendly.org), mas quem conhece, adora. Na Revista do Linux e agora na Linux Magazine Brasil, ela já deu o ar da graça em português.

Essa tira, do Illiad (J. D. Frazer) traz o dia-a-dia de um provedor de acesso, o Columbia Internet. E são de fazer qualquer geek se dobrar de rir. Eu mesmo já pensei em me candidatar a traduzí-las para o português, mas são 12 anos de tiras, com 4 coletâneas publicadas (UserFriendly: The Comic Strip; Evil Geniuses in a Nutshell; Root Of All Evil; Even The Grues Gets Full)... A tarefa parece impossível de ser finalizada, já que a publicação é diária.

Como queria ter todas, e ler as que estavam em atraso na minha fila de leitura, resolvi fazer dois scripts: Um para baixar as tiras do mês, e outro para montar um PDF com elas. No caso da segunda, faço um PDF para poder abrí-lo no meu Palm, um T|X, com o PalmPDF. Assim, dá para rir das doideiras do Mike, A. J., Pitr, Greg e outros no banheiro, por exemplo.

Lá vai o primeiro script, que é para fazer o download:

  #!/bin/sh
  x=119  # Aqui
  # jan feb mar apr may jun jul aug sep oct nov dec
  for ((a=8;a<=8;a++)); do
        for mes in sep; do # Aqui
          if [ "$x" -lt 10 ]; then
             for ((i=0;i<=9;i++)); do
                     wget -t9 -c http://www.userfriendly.org/cartoons/archives/0$a$mes/uf0$x"0"$i.gif
             done
             for ((i=13;i<=99;i++)); do
                     wget -t9 -c http://www.userfriendly.org/cartoons/archives/0$a$mes/uf0$x$i.gif
             done
          else
             for ((i=0;i<=9;i++)); do
                     wget -t9 -c http://www.userfriendly.org/cartoons/archives/0$a$mes/uf0$x"0"$i.gif
             done
             for ((i=13;i<=99;i++)); do
                     wget -t9 -c http://www.userfriendly.org/cartoons/archives/0$a$mes/uf0$x$i.gif
             done
          fi
          x=$((x+1))
          zip -9m "userfriendly_200"$a"_"$mes".zip" *.gif
        done
  done
  < A NAME="note" HREF="#textnote">< SUP>http://www.userfriendly.org/cartoons/archives/08aug/uf011801.gif

Na última linha comentada, tem uma URL de exemplo, para ser usada como referência. Esse script pode ser facilmente adaptado para baixar todas as tiras de um ano, por exemplo, ou todas as que foram produzidas (o que dá uns 110 Mb). Só tome cuidado porque a numeração foi mexida, ao longo dos anos. Nada que um pouco de testes não resolva.

Aqui vai o segundo script, que cria o PDF.

  #!/bin/sh
  x=1
  for mes in $(jan feb mar apr may jun jul aug sep oct); do
        rename $mes "0"$x *
        x=$((x+1))
  done
  for mes in $(nov dec); do
        rename $mes $x *
        x=$((x+1))
  done
  unzip $1 -d .
  rename ufng uf *
  for nome in $(ls *.gif); do
        echo $nome
        convert $nome -rotate 270 $nome.bmp
  done
  convert -adjoin -colorspace RGB -page A4 -gravity Center -antialias *.bmp ./$1.ps
  ps2pdf14 ./$1.ps ./$1.pdf
  rm *.gif
  rm *.bmp
  rm *~
  rm *.ps
  
  #rename jan 01 *
  #rename feb 02 *
  #rename mar 03 *
  #rename apr 04 *
  #rename may 05 *
  #rename jun 06 *
  #rename jul 07 *
  #rename aug 08 *
  #rename sep 09 *
  #rename oct 10 *
  #rename nov 11 *
  #rename dec 12 *

Nesse segundo, deixei um comando "rename" disponível para acertar o nome dos arquivos. Sei que o rename muda de distro para distro, logo é preciso umas adaptações para usar a sintaxe do Perl, quando você usar numa distro baseada em Debian, por exemplo. O script usa o convert, do pacote do ImageMagicK, e o ps2pdf14, do pacote do ghostscript (no Fedora).

Divirtam-se, e cuidado: Cthulhu pode estar trabalhando no atendimento ao cliente!

Ricardo Jurczyk Pinheiro - Linux user #82838 - http://estudiodaintrospeccao.blogspot.com


 

 

Veja a relação completa dos artigos de Ricardo Jurczyk Pinheiro

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script