#!/bin/bash source fnc_gonzy.sh getHelp () { -e "\n\nRepositorio en https://github.com/MilanDroid/CIT" exit 1 } getParams () { echo "Imagenes disponibles:" echo -e "${Yellow}" ls -p ~/storage/shared/Documents/img2txt/ | grep -v / echo -e "${Color_Off}" route=~/storage/shared/Documents/img2txt directory=$route/txt read -p "Extension (jpg | jpeg | png)?: " -r if [ $REPLY == null ] then fnc_msg_color 0 "Extension invalida." fnc_msg_color 2 "Saliendo." sleep 2 exit 1 else fnc_msg_color 1 "Formato $REPLY válido." ext=(${REPLY//;/ }) fi } checkRoute () { if [ ! -d "$route" ] then fnc_msg_color 0 "Directorio $route no existe." exit 1 else #Llenando el array con los elementos encontrados en la ruta otorgada IFS=! files=(`find ~/storage/shared/Documents/img2txt/ -printf %f!`) fi } createDirectory () { fnc_msg_color 2 "Validando directorio TMP.\n" if [ ! -d "$directory" ] then mkdir $directory || exit 1 fnc_msg_color 1 "Directio TMP creado." else read -p "Directorio TMP ya existe, eliminar (S/N)?: " -n 1 -r echo # (optional) move to a new line if [[ ! $REPLY =~ ^[Ss]$ ]] then fnc_msg_color 2 "Saliendo." sleep 2 exit 1 else fnc_msg_color 2 "Eliminando directorio." sleep 1 rm -rf "$directory/" || exit 1 fnc_msg_color 1 "Directorio TMP eliminado." fnc_msg_color 2 "Creando directorio." sleep 1 mkdir $directory || exit 1 fnc_msg_color 1 "Directio TMP creado.\n" sleep 1 fi fi if [ ! -d "$directory/tifs" ] then mkdir "$directory/tifs" || exit 1 else read -p "Directorio /tifs/ existente, eliminar (S/N)?: " -n 1 -r echo # (optional) move to a new line if [[ ! $REPLY =~ ^[Ss]$ ]] then fnc_msg_color 2 "Saliendo." sleep 2 exit 1 else fnc_msg_color 2 "Eliminando directorio." sleep 1 rm -rf "$directory/tifs/" || exit 1 fnc_msg_color 1 "Directorio /tifs/ eliminado." fnc_msg_color 2 "Creando directorio." sleep 1 mkdir "$directory/tifs" || exit 1 fi fi } convertFile () { alertError=0 fnc_msg_color 2 "Conversion de $1" magick "$route/$1" "$directory/tifs/${1%.*}.tif" || alertError=1 tesseract "$directory/tifs/${1%.*}.tif" "$directory/${1%.*}" || alertError=2 if [[ $alertError == 0 ]]; then fnc_msg_color 2 "Archivo saliente =>" echo -e "${Yellow}$directory/${1%.*}.txt${Color_Off}\n" let count++ elif [[ $alerError == 1 ]]; then fnc_msg_color 0 "Error al generar archivo .tif." let countError++ elif [[ $alerError == 2 ]]; then fnc_msg_color 0 "Error al generar archivo .txt." let countError++ fi } getFiles () { count=0 countError=0 for i in ${!files[@]} do if [[ "${ext[@]}" =~ "${files[$i]##*.}" ]] then convertFile "${files[$i]}" fi done fnc_msg_color 2 "Eliminando archivos tmp en /tifs/" rm -rf "$directory/tifs/" || exit 1 echo -e "Eliminados: \e[32m✓\e[0m: $count \e[31mx\e[0m: $countError" fnc_msg_color 1 "Resultado en" echo -e "${CYellow}$directory${Color_Off}\n" echo "" unset ALL_PROXY } while getopts ':h' option; do case "$option" in h) getHelp ;; \?) printf "[ \e[31mx\e[0m ] Error: Option: '-%s$OPTARG' does not exist.">&2 echo -e "\n\nTo get help use: '-h'" exit 1 ;; esac done fnc_gonzy_intro "IMG_a_TXT" "Extrae texto de imagenes.\nEl texto es guardado en un archivo." getParams checkRoute createDirectory getFiles