Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



miércoles, 24 de noviembre de 2021

ocr a un pdf usando tesseract

 


OCR a un pdf usando tesseract

1º Paso: convertir cada pagina del pdf a png:

Usar el siguiente comando en la terminal, suponiendo que el fichero se llame nombre.pdf:

$pdftoppm -png nombre.pdf  nombre

Creará tantos ficheros .png como páginas haya:

nombre-01.png

nombre-02.png

.....


2º Escanear las paginas generadas (formato .png) usando el idioma español:

$for i in nombre-??.png; do tesseract "$i" "text-$i" -l spa; done;

Y crea tantos ficheros .txt como páginas haya.


3º Unimos todos los ficheros txt que ha generado:

$cat text-nombre* > unidos.txt


Finalmente en el fichero "unidos.txt" estará todo el texto que haya podido extraer del pdf.

Ahora nos toca revisarlo :)


Fuente:

https://www.howtogeek.com/682389/how-to-do-ocr-from-the-linux-command-line-using-tesseract/


OTRA FORMA:

find ./ -name "*.jpg" | sort | while read file; do tesseract "$file" "`basename "$file" | sed 's/\.[[:alnum:]]*$//'`.txt" -l spa -psm 3; done



sábado, 20 de noviembre de 2021

1,2,3: INSTALACION DE GRAFAMA+MYSQL+WorkBech+EJEMPLOS


 1) Instalación de Grafana:

1) Sitio de descarga según sistema operativo que uses:: https://grafana.com/grafana/download?edition=oss

Nota para debian:  antes de instalar el paquete .deb 

sudo apt-get install -y adduser libfontconfig1

2) En debian: instalar paquete .deb

dpkg -i grafana_X.X.X_amd64.deb

Nota: sustituir X.X.X por el número de versión descargada

3) Luego: iniciar servidor:

# service grafana-server start

4) Comprobar que funciona:

# netstat -tulpn | grep grafana

5) Habilitar que el servicio se inicie automaticamente:

# update-rc.d grafana-server defaults


6) Acceder a grafana desde el navegador:

http://localhost:3000/

Nota: en mi caso (depende como tengas los equipos conectado a la red), mi ip interna es:

http://192.168.0.11:3000/

Referencia:

https://www.linuxito.com/cloud/1101-como-instalar-grafana-en-linux


2) Instalacion MySQl y Workbech

Referencia:

https://platzi.com/tutoriales/1566-bd/8226-como-instalar-mysql-y-workbench-en-ubuntu-sin-morir-en-el-intento/


3) Importar datos CSV a MYSQL utilizando workbech


Notas:

Paso de libreOffice a MySql:

1) libreoffice -> poner formato de fechas como año-mes-dia hora:minuto:segundo

2) convertir a csv

3) en sublime (u otro editor de texto plano) cambiar coma decimal por punto:

     cambiar , por .

4) importar en workbech por el menu de "import table por wizard", (boton derecho en una tabla menu que sale)

5) Para convertir una tabla para que se pueda editar/modificar o añadir: (sino solo sera de solo lectura)

          el campo ID ponerlo como "PK"


3) Como hacer copias de seguridad de bases de datos MySql:

Comando en terminal:

mysqldump --user=TU_USUARIO --password=TU_CONTRASEÑA NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
Referencia:

https://uniwebsidad.com/tutoriales/como-hacer-copias-de-seguridad-de-una-base-de-datos-mysql


Ejemplos de online de Grafana, para revisar codigo de sql, configurar gráfico:

Por ejemplo trafica con dos escalas verticales:

https://play.grafana.org/d/000000016/1-time-series-graphs?orgId=1&editPanel=540



Enlace de referencia

https://play.grafana.org/d/000000016/1-time-series-graphs?orgId=1



4) Creación de vistas:

en base de datos:

CREATE 

    ALGORITHM = UNDEFINED 

    DEFINER = `root`@`localhost` 

    SQL SECURITY DEFINER

VIEW `TM-B1` AS

    SELECT 

        `tabla`.`FechaDatos` AS `FechaDatos`,

        `tabla`.`TM-B1-029-Ao-C56.11` AS `TM-B1-029-Ao-C56.11`,

      `tabla`.`TM-B1-030-Ao-C56.11` AS `TM-B1-030-Ao-C56.11`,

       `tabla`.`TM-B1-031-C-C56.11` AS `TM-B1-031-Aa-C56.11`,

       `tabla`.`TM-B1-032-C-C56.11` AS `TM-B1-032-Aa-C56.11`,

        `tabla`.`TM-B1-033-Aa-C56.11` AS `TM-B1-033-Aa-C56.11`

    FROM

        `tabla`


Y en grafana:

EN GRAFANA:

SELECT `FechaDatos`,`TM-B1-029-Ao-C56.11`,`TM-B1-030-Ao-C56.11`, `TM-B1-031-C-C56.11`,

`TM-B1-032-Aa-C56.11`,

`TM-B1-033-Aa-C56.11` FROM `TM-B1`;


5) Aplicar "Times Series" en grafana:

Hay que convertir las fechas que estan en formato yyyy-mm-dd hh:mm:ss a formato Unix:

Ejemplo:

SELECT UNIX_TIMESTAMP(FechaDatos) as time_sec,

`TM-B2-023-Aa-C54.56`

FROM tabla

WHERE ($__timeFilter(FechaDatos) and `TM-B2-023-Aa-C54.56`>5);


Ref: https://sbcode.net/grafana/custom-mysql_time_series_query/