Juntando páginas separadas num único PDF
Publicado por Marcelo 23/03/2006
[ Hits: 8.360 ]
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!"
Configuração do Modem Sony Ericsson MD300 da Claro 3G no Linux
Script para ligar/desligar o Conky no Fluxbox
Nenhum comentário foi encontrado.
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
O que você está ouvindo agora? [2] (223)
Como vencer a procrastinação? (3)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (7)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (9)