Digitalizar em batch e remover páginas em branco
Publicado por Raimundo Alves Portela (última atualização em 26/09/2011)
[ Hits: 8.631 ]
Homepage: http://portelanet.com
Script desenvolvido para automatizar a digitalização de documentos em batch (lote).
Permite que o usuário de um scanner com tal funcionalidade coloque os documentos no scanner e faça a digitalização e não precisa se preocupar em ver as páginas que tem conteúdo nas duas faces da página, pois o script já conta com uma rotina que remove os arquivos gerados em branco.
Testado em scanner Fujitsu e HP, coloquei o Kodak na lista, se tiverem problemas com alguns desses basta contactar-me informando o erro que podemos encontrar a solução.
Serve para tal utilidade e para o aprendizado.
#!/bin/bash # digitalizador.sh # Desenvolvido por: Raimundo Portela - rai3mb@gmail.com # Script desenvolvido para digitalizar documentos e fazer a # exclusão automática de páginas em branco (scanner que fazem várias páginas em batch). # Para usar: # ./digitalizador.sh [nome_do_arquivo] [ -z "$1" ] && echo "Sintaxe de uso: ./digitalizador.sh [nome_do_arquivo]" && exit export ARQUIVO="$1" export MARCA="DESCONHECIDO" func_menuMarca(){ echo "Qual a marca do seu scanner? 1 - hp 2 - fujitsu 3 - kodak Informe o número correspondente: " read OP case "$OP" in 1) MARCA="hp";; 2) MARCA="fuji";; 3) MARCA="kodak";; *) echo "Entrada inválida"; func_menuMarca ;; esac } func_menuMarca # localiza o dispositivo conectado echo "Configurando o scanner da marca $MARCA" export DISPOSITIVO=$(scanimage -L | egrep -o "$MARCA.*" | cut -d\' -f 1) func_deletaPagBranca() { local TEMPO="1" for i in $(ls -1 "$ARQUIVO"*.tif) do echo "Verificando imagem $i" # usa o tesseract para fazer OCR na imagem # quando houver conteúdo vai demorar mais de 1 segundo para terminar # quando não houver conteúdo o resultado é quase instantâneo tesseract "$i" /tmp/img_texto -l por & PID=$!; sleep $TEMPO; kill $PID 2>/dev/null if [ $? -eq 1 ]; then # significa que o killall deu erro porque o processo tesseract já havia terminado antes do sleep rm "$i" fi done } # trabalha no diretório temporário cd /tmp func_scan(){ #faz a digitalização echo "Iniciando a digitalização de $ARQUIVO" scanimage --device-name ${DISPOSITIVO:-DESCONHECIDO} --format=tiff --source "ADF Duplex" \ --batch-start="$CONF_BATCHSTART" --batch="$ARQUIVO%02d.tif" --batch-increment=1 [ "$?" -ne 0 ] && echo "Erro na digitalização" && exit 1 } export CONF_BATCHSTART="1" while : do func_scan echo "1 - Continuar digitalizando o documento $ARQUIVO" echo "2 - Finalizar" read OP case "$OP" in 1) CONF_BATCHSTART=$(ls -1 *.tif | wc -l) continue ;; 2) func_deletaPagBranca echo "agrupa paginas em tif multipagnado" tiffcp "$ARQUIVO"*.tif "$ARQUIVO"ok.tif [ $? -eq 1 ] echo "Erro de conversão" && rm "$ARQUIVO"ok.tif && exit 1 mv "$ARQUIVO"ok.tif "$OLDPWD" rm *.tif break;; *) echo "Entrada inválida" && continue ;; esac done
Libera conectividade social em rede com squid
Limpa comentários e linhas em branco nos arquivos de configuração (.conf)
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
como instalar o steam no twiteros 2.0.2(arm) (5)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (2)
O que você está ouvindo agora? [2] (182)