Digitalizar em batch e remover páginas em branco
Publicado por Raimundo Alves Portela (última atualização em 26/09/2011)
[ Hits: 8.701 ]
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
Backup para CD-R/RW e DVD+/- R/RW
Configurando IP, Nome de maquina, Gateway e Samba.
Script Firewall - Regras do Iptables
Instalador .tar.bz2 com menu gráfico Zenity
Nenhum coment�rio foi encontrado.
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
eu preciso saber uma coisa sobre os games no linux (3)
eu preciso saber uma coisa sobre os games no linux (1)
Problema com audio apos upgrade (1)