Juntando páginas separadas num único PDF
Publicado por Marcelo 23/03/2006
[ Hits: 8.117 ]
Este shell script combina páginas de patentes gravadas do
European Patent Office, separadas em vários arquivos pdf,
num único arquivo pdf. (limitado em 26 páginas)
É necessário ter o programa PDFTK (http://www.pdfhacks.com/pdftk/)
instalado para que este script funcione.
A interface padrão com o usuário é o KDE. Se vc quiser modo texto mude os comentários na primeira e na última linha de comando.
Mais detalhes no cabeçalho do script.
#!/bin/sh ######################################################################### # Este shell script combina páginas de patentes gravadas do # European Patent Office, separadas em vários arquivos pdf, # num único arquivo pdf. # # É necessário ter o programa PDFTK (http://www.pdfhacks.com/pdftk/) # instalado para que este script funcione. # A interface padrão com o usuário é o KDE. Se vc quiser modo texto mude os # comentários na primeira e na última linha de comando. # # Atenção! # # Quando gravar os arquivos pdf, referentes às páginas das patentes, # usar NECESSARIAMENTE o formato 'nome'_'número'.pdf # # onde 'nome' é o nome do arquivo e 'número' é um número inteiro # que corresponde ao número da página (não use zeros à esquerda), use # necessariamente o _ (underline) para separar o nome do número. # # Este script combina no máximo 26 arquivos pdf num único arquivo pdf. # # Autor: Marcelo Falcão de Oliveira # Instituição: EESC-USP # # Versão 1.1 # julho/2005 # # Você pode distribuir ou modificar esse script sempre fazendo referência ao original. # O uso desse script é de sua total responsabilidade. O autor não se responsabiliza # por danos causados ao seus arquivos ou à sua máquina. ########################################################################### # Início do script # Primeira linha de comando # Solicita um dos arquivos que serão combinados e armazena na variável nome (interface KDE) nome=`kdialog --getopenfilename "Escolha um dos aquivos que serão combinados" "*.pdf"` # Se você quer modo texto "comente" a linha acima e "descomente" as 2 linhas abaixo #echo "Digite o caminho e o nome de um dos arquivos que serão combinados" #read nome #exclui o trecho final do string armazenado na variável nome, que corresponde a "_'número'.pdf" nome=`echo $nome | sed 's/_[0-9]*\.pdf//'` # Verifica o número de arquivos e portanto o número de páginas, armazenando o valor na variável num for ((i=1; i<=26; i++)) do busca=$nome'_'$i busca=$busca'.pdf' if [ -e "$busca" ] then num=$i fi done # Corpo principal. Define os "handles" que serão usados com o PDFTK através da variável entrada # Os "handles" são adicionados um a um conforme a variável i cresce até o número total de páginas # Também define as páginas que serão passadas ao cat do PDFTK, de acordo com os "handles", através da variável saida for ((i=1; i<=$num; i++)) do # Define o "handle" a ser usado de acordo com o número da página case $i in 1) letra='A';; 2) letra='B';; 3) letra='C';; 4) letra='D';; 5) letra='E';; 6) letra='F';; 7) letra='G';; 8) letra='H';; 9) letra='I';; 10) letra='J';; 11) letra='K';; 12) letra='L';; 13) letra='M';; 14) letra='N';; 15) letra='O';; 16) letra='P';; 17) letra='Q';; 18) letra='R';; 19) letra='S';; 20) letra='T';; 21) letra='U';; 22) letra='V';; 23) letra='W';; 24) letra='X';; 25) letra='Y';; 26) letra='Z';; esac #define os arquivos de entrada juntamente com os respectivos "handles" entrada="$entrada $letra=" entrada="$entrada$nome" entrada=$entrada'_'$i entrada=$entrada'.pdf' #define as páginas dos "handles" que serão passadas para o cat do PDFTK saida="$saida $letra$i" done # Define o nome do arquivo final nome=$nome'.pdf' # Executa o PDFTK pdftk $entrada cat $saida output $nome # Última linha de comando # Avisa que terminou (interface KDE) kdialog --msgbox "Pronto!" # Se você quer modo texto "comente" a linha acima e "descomente" a de baixo #echo "Pronto!"
Criar Password no boot de uma DebianLive
Backup das Bases de dados do [Mantis, MySQL, Phpmyadmin, Testlink] e dos Projetos do SVN
Rastreando suas encomendas dos Correios
Zshortcut - criar atalhos no menu de programas
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Excluir banco de dados no xampp (0)
phpmyadmin não abre no xampp (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta