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: 10.170 ]
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!
Multiplos gerenciadores nome do seu pacote
Backup de algumas databases, Remotamente.
Coleta de Informações de crescimento de utilização de file system
Pra quem contribui com artigos e dicas (1)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Copiar Layout do Teclado para aplicar em outra Distribuição (2)
Monitor fora de escala ao bootar sistema (10)
Pra quem contribui com artigos e dicas (1)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (19)