Converte cada imagem (JPG, JPEG, PNG) em PDFs com o tamanho de papel definido (A4...)
Publicado por Rodrigo Albuquerque Serafim (última atualização em 23/08/2017)
[ Hits: 9.845 ]
Homepage: https://www.vivaolinux.com.br/~raserafim
Download 6689.script-image2pdf.sh
Converte cada imagem (JPG, JPEG, PNG) de um diretório em PDFs com o tamanho de papel definido (A4...).
Ou seja, o script gera um arquivo PDF para cada arquivo de imagem nos formatos JPG, JPEG, PNG que estejam contidos no diretório em que o script está sendo executado (mantendo intacto o arquivo original). Todos os arquivos PDFs gerados possuem o mesmo tamanho de papel definido (por padrão, o tamanho A4).
Características de operação:
- converte (em lote) os arquivos de imagem (JPG, JPEG, PNG) do diretório local, cada imagem num PDF;
- mantém o tamanho original da imagem (até o limite do tamanho de papel definido);
- não rotaciona a imagem;
- alinha a imagem no Centro a partir do Topo;
- todos os PDFs gerados ficam com o mesmo tamanho de papel (A4, ou A5 ou Letter ...);
- preserva o arquivo original;
Particularmente, o utilizo para converter certificados acadêmicos que recebo em formato de imagem, ou que escaneei neste formato, para depois organizá-los em diretórios de acordo com a estrutura utilizada pelo CNPQ no Currículo Lattes.
Em conjunto com este script utilizo um outro: script-pdfallunite.sh ( https://www.vivaolinux.com.br/~raserafim/scripts/ ).
Este outro Script varre PDF's em diretórios e sub-diretórios (que organizei de acordo com a estrutura do Currículo Lattes), portanto recursivamente, de maneira ordenada para gerar um único PDF com todos os certificados acadêmicos.
Publico o presente Script na expectativa de que contribua de alguma maneira para aqueles que, porventura, tenham a mesma necessidade que eu; ou, então, para aqueles que o Script tenha serventia, com algumas adaptações ou como material que contém alguma ideia útil para outros Scripts.
Como Executar:
- baixar o arquivo do Script; OU copiar o texto do Script diretamente da WEB para um arquivo texto criado no computador;
- dar permissão de execução para o arquivo com o Script:
- por exemplo: # chmod +x script-image2pdf.sh;
- copiá-lo (ou movê-lo) para o diretório local que contém os arquivos a serem convertidos;
- executar o Script com o comando: $ ./script-image2pdf.sh
- obs: o prefixo "./" (ponto-barra) deve vir antes do nome do arquivo para especificar que o arquivo a ser executado está no diretório local (corrente), e não em um dos caminhos do "PATH".
Para dar permissão de alteração do conteúdo do Script, utilizar o comando, por exemplo: # chmod a+w script-image2pdf.sh
Obs: o Script requer o pacote: ImageMagick
#!/bin/sh # script-image2pdf.sh - Converte cada imagem (JPG, JPEG, PNG) de um diretório # em PDF's com o tamanho de papel definido (A4...). # Copyright 2016, 2017 Rodrigo Albuquerque Serafim. # Autor: Rodrigo Albuquerque Serafim (raserafim) # Contato: https://www.vivaolinux.com.br/~raserafim # Versão: 1.0 # Data: 01-08-2017 # Dependências: ImageMagick # Licença: GPL v3 <https://www.gnu.org/licenses/gpl-3.0.html> # Este programa é um software livre; você pode redistribuí-lo e/ou # modificá-lo sob os termos da Licença Pública Geral GNU como publicada # pela Fundação do Software Livre (FSF); na versão 3 da Licença, # ou (a seu critério) qualquer versão posterior. # Este programa é distribuído na esperança de que possa ser útil, # mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO # a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a # Licença Pública Geral GNU para mais detalhes. # Você deve ter recebido uma cópia da Licença Pública Geral GNU junto # com este programa. Se não, veja <http://www.gnu.org/licenses/>. # Esta é uma tradução não oficial da GNU General Public License em Português. ###################################################################### # Características de Operação: # - converte (em lote) os arquivos de imagem (JPG, JPEG, PNG) do diretório local; # - mantém o tamanho original da imagem (até o limite do tamanho de papel definido); # - não rotaciona a imagem; # - alinha a imagem no Centro a partir do Topo; # - todos os PDF's gerados ficam com o mesmo tamanho de papel (A4 ou A5 ou Letter ...); # - preserva o arquivo original; # A4 = 1654 pixels x 2339 pixels (-extent 1654x2339) # A5 = 1165 pixels x 1654 pixels (-extent 1165x1654) # Letter = 1700 pixels x 2200 pixels (-extent 1700x2200) # Por padrão o Script gera PDF's no tamanho A4. # Para outros tamanhos, basta alterar os valores do parâmetro "-extent" no código abaixo. ###################################################################### qtdf=$(ls *.jpg *.jpeg *.png 2> /dev/null | wc -l) if [ $qtdf == 0 ] then echo Não há arquivos JPG, JPEG ou PNG a serem convertidos neste diretório. exit fi echo "Iniciando o processo de conversão de" $qtdf "arquivo(s)..." for f in *.jpg *.jpeg *.png do echo " " echo Convertendo $f ... convert -compress jpeg -quality 100 ./"$f" -background white -compose Copy -gravity north -extent 1654x2339 ./"${f%.*}.pdf" echo Convertido! done echo " " echo Processo de conversão concluído!
Automatizando autenticação do Speedy Business
Filtro para importação de extrato do Banco do Brasil para Kmymoney
Script em Dialog pesquisa nome do banco no mysql
Abrir e redirecionar portas TCP em firewall iptables
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (21)
Debian Bookworm para a versão beta Debian 13 Trixie (1)
material de assembly x64 [RESOLVIDO] (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba