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\;

Convert.png

• 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