Implementação do script convert
Guião prático para desenvolver script de conversão de múltiplos arquivos de imagem para formato PDF. Fonte: https://imagemagick.org/index.php https://www.reviversoft.com/pt/file-extensions/jfif https://elias.praciano.com/2015/10/como-renomear-arquivos-linux-rename/
Solicitação - Demanda
Solicito que seja criado um mecanismo para conversão de diversos formatos de imagem para o formato PDF.
Atualmente, o setor da PROEN estava utilizando a plataforma on-line I Love PDF (https://www.ilovepdf.com/jpg_to_pdf) para converter os formatos de imagem de interesse para o PDF, devido a um problema de envio de arquivo em relação ao processo de seleção do edital n.° 067/2021.
Diante de um quantitativo muito grande de arquivo (mais de 1000 arquivos), o trabalho manual e por unidade de conversão para o formato PDF torna-se dispendioso para o setor.
Durante a análise, foi verificado uma grande demora para processar os mais de 1000 arquivos para o formato PDF. Identificamos, a tecnologia Image Magick, que permite através de script executar a conversão de arquivos em lotes de diferentes formatos (.jpg, .jpeg, tiff, docx, etc) para o PDF.
Estudo de caso: PROEN em 10/11/2021.
Solução - Implementação
Como solução, utilizamos o software ImageMagick, que permite através de script converter lotes de imagem múltiplas para o formato PDF.
Utilizamos duas etapas:
1) Script para converter o arquivo nos formatos (jpg, jpeg, png, PNG, docx, Jfif2) em formato PDF.
• Formato jpg para pdf:
find * -type f -name “*.jpg” – exec convert {} ../selecao-pdf-ifmt/{}.pdf\;
• Formato jpeg para pdf:
find * -type f -name “*.jpeg” – exec convert {} ../selecao-pdf-ifmt/{}.pdf\;
• Formato jfif para pdf:
find * -type f -name “*.jfif” – exec convert {} ../selecao-pdf-ifmt/{}.pdf\;
• Formato docx para pdf:
find * -type f -name “*.docx” – exec convert {} ../selecao-pdf-ifmt/{}.pdf\;
• Formato png para pdf:
find * -type f -name “*.png” – exec convert {} ../selecao-pdf-ifmt/{}.pdf\;
• Formato PNG para pdf:
find * -type f -name “*.PNG” – exec convert {} ../selecao-pdf-ifmt/{}.pdf\;
2) Script para renomear os arquivos, pois, na conversão, o nome do formato foi carregado no arquivo convertido (ex.: 69599_1.jpeg – 69599_1.jpeg.pdf)
• Renomear arquivos .jpg.pdf para .pdf:
rename ‘s/\.jpg\.pdf$/\.pdf/g’ *.pdf
• Renomear arquivos .jpeg.pdf para .pdf:
rename ‘s/\.jpeg\.pdf$/\.pdf/g’ *.pdf
• Renomear arquivos .jfif.pdf para .pdf:
rename ‘s/\.jfif\.pdf$/\.pdf/g’ *.pdf
• Renomear arquivos .docx.pdf para .pdf:
rename ‘s/\.docx\.pdf$/\.pdf/g’ *.pdf
• Renomear arquivos .png.pdf para .pdf:
rename ‘s/\.png\.pdf$/\.pdf/g’ *.pdf
• Renomear arquivos .PNG.pdf para .pdf:
rename ‘s/\.PNG\.pdf$/\.pdf/g’ *.pdf
Nota: Utilizamos o comando rename3, que possui como característica renomear múltiplos arquivos ou grupos de arquivo.
Equipe DSTI: Alexandre Carvalho / Carlos Machado
Data: 11/11/2021