
Eu gosto do formato PDF.
Enquanto a linguagem HTML objetiva a disseminação de um documento em qualquer uma das diversas plataformas existentes, o formato PDF vai mais além e busca garantir sua reprodução idêntica. Não é necessário imaginar se uma determinada fonte existirá no sistema operacional do leitor ou se a impressora manterá o alinhamento correto de duas figuras, um arquivo PDF construído corretamente deverá ser sempre igual.
O formato apresenta algumas outras vantagens:
- reduz o tamanho dos arquivos;
- dispõe de vários visualizadores, a maioria, gratuitos; e
- apesar das vulnerabilidades descobertas recentemente, é relativamente seguro, pois, quando um arquivo PDF é gerado sem malwares, dificilmente será contaminado no futuro.
Devido ao alto custo do material de impressão (tinta e papel) e às campanhas para preservação do meio ambiente, é cada vez mais comum armazenar documentos neste formato. Por essa razão, essa não é a primeira vez que escrevo sobre esse formato ou sobre ferramentas para ele.
Em seu trabalho, minha esposa tem convertido literalmente milhares de documentos para o formato PDF. Contudo, por uma limitação do software usado na organização em que trabalha, os documentos são escaneados para o formato TIFF e, em seguida, convertidos para PDF.
Um… a… um!
Então, fui pesquisar uma forma de automatizar pelo menos o processo de conversão. De preferência, gratuitamente.
Após ler algumas explicações (bem desatualizadas) sobre o assunto, a primeira ferramenta que testei foi o ImageMagick. Afinal, é um verdadeiro canivete suíço, capaz de, entre outras coisas, converter entre mais de 100 formatos diferentes. Infelizmente, o ImageMagick mostrou-se muito lento para o processo. Além disso, o arquivo resultante era maior que o gerado pelo processo atual (mesmo trocando o modo de compressão).
Passei então para a biblioteca LibTIFF. Nela, encontrei um utilitário, sugestivamente chamado “tiff2pdf” (lê-se “tiff-to-pdf” ou, em português, “tiff-para-pdf”), que alcançou os mesmos resultados de tempo de conversão e tamanho do arquivo final. Para executar o tiff2pdf, é necessário, no mínimo:
- os arquivos tiff2pdf.exe e libtiff3.dll, contidos nos binários para Windows; e
- os arquivos jpeg62.dll e zlib1.dll, contidos nos arquivos de dependência, também para Windows.
Daí para frente, foi apenas uma questão de lembrar os comandos do MS-DOS e preparar dois arquivos de lote. As maiores dificuldades foram:
- exibir caracteres especiais (como os sinais “<” e “>”) nas mensagens;
- identificar a opção de menu escolhida pelo usuário;
- decompor o nome de um arquivo, ignorando sua extensão;
- checar a existência de um diretório (pasta); e
- passar parâmetros para outros arquivos de lote.
O primeiro arquivo, chamado converte.bat, exibe um menu de opções de conversão para atender às diversas extensões de arquivos encontradas na organização (TIFF, TIF, TIF.PDF e PDF):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | @echo off set IEXT=TIF set OEXT=TIF.PDF set ALT_IEXT=TIFF set ALT_OEXT=PDF :menu set OPT=0 set TMP= cls echo Conversor de TIFF para PDF: echo --------------------------- echo 1. Alterar extensao dos arquivos de entrada (atualmente %IEXT%). echo 2. Alterar extensao dos arquivos de saida (atualmente %OEXT%). echo. echo 9. Converter echo 0. Sair echo. set /P OPT=Digite sua escolha e pressione ^<ENTER^>: if "%OPT%"=="1" goto chg_input if "%OPT%"=="2" goto chg_output if "%OPT%"=="9" goto start if "%OPT%"=="0" goto quit goto menu :chg_input set TMP=%IEXT% set IEXT=%ALT_IEXT% set ALT_IEXT=%TMP% goto menu :chg_output set TMP=%OEXT% set OEXT=%ALT_OEXT% set ALT_OEXT=%TMP% goto menu :start echo. echo Checando pasta de destino... if exist pdfnul.nul goto folderok echo Criando pasta de destino... md pdf :folderok for %%a in (tiff*.%IEXT%) do call CORE %%~na.%IEXT% %%~na.%OEXT% echo. echo Processo terminado! pause goto menu :quit |
O segundo arquivo, chamado core.bat, é o real responsável pela conversão, recebendo como parâmetros os nomes de entrada e de saída e passando-os para o utilitário:
1 2 3 4 | @echo off echo Convertendo %1 para %2... tiff2pdf tiff%1 -o pdf%2 2> nul :quit |
Parafraseando uma excelente propaganda, não basta ser marido, tem que participar
!
Copyright © 2006-2022 jlcarneiro.com.
Muito boa essa sua pesquisa. Apesar de ter “inflacionado” um pouco o “mercado dos maridos”. Ab.