[Ubuntu-BR] PDF com várias páginas

Roberval Sena roberval.sena em gmail.com
Sexta Fevereiro 10 14:25:24 UTC 2012


salve,

perguntinha rápida...  você fechou e abri o nautilus depois de instalar o
scrit??
lembre-se que sempre é bom fechar a sessão do gnome ... pra garantir!

[]s Sena


em  todo caso segue o scrip original, basta gravar e colocar na pasta
script do nautilus


#!/bin/bash


# AUTOR:    Jacarezinho


# CONTATO:      jacarezinh em gmail.com


# NOME:        Script Conversor para PDF


# VERSÃO:    2.0


# ATUALIZAÇÃO:     Última modificação em 06 de Julho de 2011.


# DESCRIÇÃO:    Escrita para converter imagens e documentos para o formato
PDF,
#         com opção de compactar, girar e juntar.


# REQUER:    Zenity, GhostScript e ImageMagick.


# LICENÇA:    GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)


# OBSERVAÇÕES:    Este Script pode ser alterado e distribuído por qualquer
pessoa,
#        desde que este quadro se mantenha inalterado!


#
_________________________________________________________________________





#Funções
Formatos="*.jpg *.jpeg *.png *.bmp *.JPG *.JPEG *.Jpg *.Jpeg *.PNG *.Png
*.BMP *.Bmp *.odt *.ODT *.Odt *.doc *.DOC *.Doc *.docx *.Docx *.DOCX *.ppt
*.Ppt *.PPT *.xls *.Xls *.XLS *.ott *.Ott *.OTT *.sxw *.Sxw *.SXW *.stw
*.Stw *.STW *.rtf *.Rtf *.RTF *.txt *.Txt *.TXT *.html *.Html *.HTML *.xml
*.Xml *.XML *.fodt *.Fodt *.FODT *.uot *.Uot *.UOT *.ods *.Ods *.ODS *.ots
*.Ots *.OTS *.sxc *.Sxc *.SXC *.stc *.Stc *.STC *.dif *.Dif *.DIF *.dbf
*.DBF *.Dbf *.xlt *.XLT *.Xlt *.slk *.SLK *.Slk *.csv *.Csv *.CSV *.xlsx
*.XLSX *.Xlsx *.fods *.Fods *.FODS *.uos *.Uos *.UOS *.odp *.ODP *.Odp
*.otp *.Otp *.OTP *.sxi *.SXI *.Sxi *.sti *.STI *.Sti *.pot *.POT *.Pot
*.sxd *.SXD *.Sxd *.pptx *.PPTX *.Pptx *.ppsx *.Ppsx *.PPSX *.potm *.POTM
*.Potm *.pps *.PPS *.Pps *.fodp *.Fodp *.FODP *.uop *.Uop *.UOP *.odg *.ODG
*.Odg *.gif *.Gif *.GIF *.tiff *.Tiff *.TIFF *.ico *.Ico *.ICO *.svg *.Svg
*.SVG *.ps *.Ps *.PS *.eps *.EPS *.Eps *.pov *.Pov *.POV *.fx *.FX *.Fx
*.tex *.Tex *.TEX *.xaml *.Xaml *.XAML *.gpl *.Gpl *.GPL *.hpgl *.Hpgl
*.HPGL *.xcf *.XCF *.Xcf *.wmf *.WMF *.Wmf *.dxf *.DXF *.Dxf *.sxd *.Sxd
*.SXD *.std *.Std *.STD *.otg *.Otg *.OTG *.fodg *.Fodg *.FODG *.odf *.ODF
*.Odf *.sxm *.Sxm *.SXM *.mml *.Mml *.MML *.PCX *.Pcx *.pcx"

Versao="2.0"





# Verificar se o Zenity está instalado
ZENITY="/usr/bin/zenity"
if [ ! -x $ZENITY ]; then

xterm -e "echo 'O Script Conversor $Versao requer o Zenity para funcionar.
Providencie a instalação do Zenity e tente novamente.

Para instalar o Zenity no Debian, Ubuntu e derivados,
abra o terminal e digite SUDO APT-GET INSTALL ZENITY
ou abra o Synaptic / Adept e proceda a instalação.'; sleep 10"
        exit 0;
fi





# Verificar se o GhostScript está instalado
GS="/usr/bin/ghostscript"
if [ ! -x $GS ]; then

zenity --error --title "Script Conversor para PDF $Versao" --text 'O Script
Conversor requer o GhostScript para funcionar.
Providencie a instalação do GhostScript e tente novamente.

Para instalar o GhostScript no Debian, Ubuntu e derivados,
abra o terminal e digite "sudo apt-get install ghostscript"
ou abra o Synaptic / Adept e proceda a instalação por lá.'
        exit 0;
fi





# Início do Programa
zenity --info --title "Bem-vindo" --text 'Bem vindo!
Verifique se tem o ImageMagick instalado.
Sem ele, o Conversor não funcionará.

Para instalar, abra o terminal e digite
"sudo apt-get install imagemagick"

Bom, vamos lá! Você poderá fazer outras
tarefas enquanto converte. Bom trabalho.

Pressione OK para continuar, ou clique no
"x" ao lado de "Bem-vindo" para cancelar.'

if [ $? = 1 ];
then exit
fi




Selecao=$(zenity --list --title "Converter e o que mais?" --text 'Além de
converter, selecione o que mais fazer com as Imagens / Documentos.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
Se clicar em "Cancelar", o Script irá apenas juntar e compactar os
Documentos.

Aviso: Se os arquivos estiverem com seqüência numérica "Imagem" "Imagem1"
"Imagem2", o primeiro documento deverá receber o número ZERO "Imagem0"

Se o primeiro arquivo ficar sem número, por ex. "Imagem", este aparecerá por
ÚLTIMO, no momento em que houver a junção de todos eles.

Sempre o primeiro arquivo deverá receber um número inferior ao do segundo.
Se o segundo estiver como "Imagem357", o primeiro deverá ser "Imagem356".

Mas, se todas as imagens estiverem sem seqüência númérica, deixe como está.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
VOLTANDO: Além de converter, selecione o que mais fazer com os Documentos.'
--radiolist --column "Eu quero" --column "Opções" TRUE "Girar em 90º" FALSE
"Compactar" FALSE "Girar em 90º e Compactar" FALSE "Não quero nada a mais.
Só quero converter"); echo $Selecao


if [ "$Selecao" = "Girar em 90º" ];
then

(echo "0" ;
for i in $Formatos; do
nice convert -rotate 90 $i $i.pdf
done
echo "100") | zenity --progress --pulsate --auto-close --title "Script
Conversor para PDF $Versao" --text 'Convertendo e Girando os Documentos...

Ao pressionar "Cancelar", o programa terminará de
converter estes documentos para depois encerrar.'

if [ $? = 1 ];
then exit
fi

fi




if [ "$Selecao" = "Compactar" ];
then

(echo "0" ;
for i in $Formatos; do
nice convert -quality 20 $i $i.pdf
done
echo "100") | zenity --progress --pulsate --auto-close --title "Script
Conversor para PDF $Versao" --text 'Convertendo e Compactando os
Documentos...

Ao pressionar "Cancelar", o programa terminará de
converter estes documentos para depois encerrar.'

if [ $? = 1 ];
then exit
fi

fi




if [ "$Selecao" = "Girar em 90º e Compactar" ];
then

(echo "0" ;
for i in $Formatos; do
nice convert -rotate 90 -quality 20 $i $i.pdf
done
echo "100") | zenity --progress --pulsate --auto-close --title "Script
Conversor para PDF $Versao" --text 'Convertendo, Compactando e Girando os
Documentos...

Ao pressionar "Cancelar", o programa terminará de
converter estes documentos para depois encerrar.'

if [ $? = 1 ];
then exit
fi

fi




if [ "$Selecao" = "Não quero nada a mais. Só quero converter" ];
then

(echo "0" ;
for i in $Formatos; do
nice convert $i $i.pdf
done
echo "100") | zenity --progress --pulsate --auto-close --title "Script
Conversor para PDF $Versao" --text 'Apenas Convertendo os Documentos...

Ao pressionar "Cancelar", o programa terminará de
converter estes documentos para depois encerrar.'

if [ $? = 1 ];
then exit
fi

fi





# Juntar todos os arquivos PDF
Escolha=$(zenity --entry --title "Juntar todos os arquivos PDF" --text
'Você quer juntar todos os arquivos PDF?

Se você quer juntar todos os PDFs, pressione 1.
Se não quer juntar todos os PDFs pressione 2.' --entry-text "1"); echo
$Escolha
read $Escolha

if [ $Escolha = "1" ]
then

Nome=$(zenity --entry --title "Dê um nome ao arquivo" --text 'Agora, todos
os PDFs serão juntados!
Dê um nome ao arquivo resultante da junção.

DICA: para escritórios de advocacia, o nome pode
ser o nº de Ordem, seguido da Comarca e Data.
Por exemplo: 2215-12Sorocaba25-03

Mas, você poderá dar qualquer nome ao documento.

Lembre-se de que o computador não aceita barra "/"
Portanto, na data, temos que usar o traço mesmo.
Exemplo: para dia 25 de Março, colocamos 25-03.' --entry-text
"2215-12Santos25-03"); echo $Nome
read $Nome

(echo "0" ;
mkdir /home/$USER/Arquivo\ Resultante
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=/home/$USER/Arquivo\
Resultante/$Nome.pdf *.pdf
echo "100") | zenity --progress --pulsate --auto-close --title "Script
Conversor para PDF $Versao" --text 'Juntando todos os PDFs...

Ao pressionar "Cancelar", o programa terminará
de juntar todos os PDFs para depois encerrar'

if [ $? = 1 ];
then exit
fi





Opcao=$(zenity --entry --title "Script Conversor para PDF $Versao" --text
'Escolha uma opção:

1) mover todos os PDFs para uma pasta separada;

2) apagar os PDFs desta pasta, menos o arquivo
resultante da junção de todos eles;

3) apagar os PDFs e demais documentos da pasta,
menos o resultante da junção de todos eles;

4) apagar documentos da pasta e manter os PDFs;

5) não fazer nada.

Escolha 1, 2, 3, 4 ou 5' --entry-text "5"); echo $Opcao
read $Opcao


if [ $Opcao = "1" ]
then
   mkdir /home/$USER/Documentos\ PDF
   mv *.pdf /home/$USER/Documentos\ PDF
fi



if [ $Opcao = "2" ]
then
   rm *.pdf
fi



if [ $Opcao = "3" ]
then
    rm $Formatos *.pdf
fi



if [ $Opcao = "4" ]
then
    rm $Formatos
fi





# Fim do Programa
zenity --info --title "Script Conversor para PDF $Versao" --text 'Operação
finalizada com Sucesso!

Espero que tenham gostado do programa.

Se optou por juntar todos os PDFs, procure pelo arquivo
resultante, na Pasta do Usuário, em "Arquivo Resultante"

Se optou por mover os PDFs para uma pasta separada,
procure-os na Pasta do Usuário, em "Documentos PDF"

Sugestões para melhorar o Conversor? Escrevam-me.
Assim, eu posso adaptá-lo às suas necessidades!
Para dúvidas e sugestões: jacarezinh em gmail.com'

fi





if [ $Escolha = "2" ]
then

opcao=$(zenity --entry --title "Script Conversor para PDF $Versao" --text
'Escolha uma opção:

1) mover todos os PDFs para uma pasta separada;

2) apagar todos os arquivos em PDF desta pasta;

3) apagar documentos da pasta e manter os PDFs;

4) não fazer nada.

Escolha 1, 2, 3 ou 4' --entry-text "4"); echo $opcao
read $opcao


if [ $opcao = "1" ]
then
   mkdir /home/$USER/Documentos\ PDF
   mv *.pdf /home/$USER/Documentos\ PDF
fi



if [ $opcao = "2" ]
then
   rm *.pdf
fi



if [ $opcao = "3" ]
then
    rm $Formatos
fi





# Fim do Programa
zenity --info --title "Script Conversor para PDF $Versao" --text 'Operação
finalizada com Sucesso!
Espero que tenham gostado do programa.

Se optou por mover os PDFs para uma pasta separada,
procure-os na Pasta do Usuário, em "Documentos PDF"

Sugestões para melhorar o Conversor? Escrevam-me.
Assim, eu posso adaptá-lo às suas necessidades!
Para dúvidas e sugestões: jacarezinh em gmail.com'

fi



More information about the ubuntu-br mailing list