in ,

Mejor OCR Gratis Online. Parte 2.

Continuamos con la segunda parte de este tutorial. En la entrada anterior, mejor ocr gratis online. Parte 1, os dimos unas nociones básicas de como podéis utilizar los servicios de google, concretamente, Google Drive y Google Docs para pasar por OCR documentos, imágenes y simulares y poder extraer el texto de los mismos.

Pero hoy venimos para dar un pasito más allá. ¿Quieres pasar tus pdf a ocr gratis? Pues preparate porque te vamos a enseñar a crear tu propio servicio de OCR totalmente gratis usando Google Apps Script, y Telegram. Vamos al lío.

¿Cómo Vamos a Crear el Servicio de OCR Gratis Online?

Pues como dejamos caer en el artículo anterior, consistirá en un bot de telegram al que le podáis pasar vuestros archivos y os los devuelva como un pdf con el que podréis interaccionar. Para poder manejar esto, de nuevo vamos a usar Google Apps Script como servicio gratuito con el que controlaremos el bot. Pero como una imagen vale más que mil palabras, aquí podéis ver un video rápido del resultado.

https://youtu.be/MOAJYq31a8M
Muestra del sistema de OCR gratis con Telegram

NOTA IMPORTANTE:
Sino te quieres calentar la cabeza, el bot que se ve en el vídeo lo hemos dejado como público.
Para utilizarlo, basta con abrirlo en telegram en el siguiente enlace:

https://telegram.me/SnippetsBoard_OCR_bot

Y tal y como se muestra en el video, darle a iniciar. Una vez hecho esto, cualquier contenido que se envíe al bot, será devuelto como un pdf con texto seleccionable.

PARA LOS QUE QUERÉIS HACER EL VUESTRO:

La idea es haceros vuestro propio OCR gratis online, que es para lo que estamos aquí. Así que como ya es costumbre, recomendamos a los que no sepáis lo que es Google Apps Script o los que no conozcáis cómo generar bots en telegram y obtener sus parámetros la lectura de los artículos: Introducción al Manejo de Google Apps Script y Envío de Mensajes Automáticos a Telegram Mediante Google Apps Script.

Sin más dilación, os compartimos el script:

var bottoken = '##ESCRIBE AQUI EL TOQUEN DEL BOT##';  var userid = '##ESCRIBE AQUÍ EL ID DEL USUARIO QUE PUEDE USAR EL BOT##';  var webappurl = '##ESCRIBE AQUI LA URL DE LA WEBAPP##';      var telegramurl = 'https://api.telegram.org/bot' + bottoken; var downloadurl = "https://api.telegram.org/file/bot" + bottoken;   function sendTextpost(id, text) {   var url = telegramurl + "/sendMessage";   var payload = {     "method": "sendMessage",     "chat_id": id,     "text": text,   } ;   var data = {     "method": "post",     "payload": payload   };   url = url.replace(/s/g,'%20');   var response = UrlFetchApp.fetch(url, data);   Logger.log(response.getContentText()); }   function sendBlobpost(id, document) {   var url = telegramurl + "/sendDocument";   var payload = {     "method": "sendDocument",     "chat_id": id,     "document": document,   } ;   var data = {     "method": "post",     "payload": payload   };   url = url.replace(/s/g,'%20');   var response = UrlFetchApp.fetch(url, data);   Logger.log(response.getContentText()); }   function telegramurls(){   Logger.log('URL información telegram: ' + telegramurl + '/getUpdates'); }  function setWebhook() {   var url = telegramurl + '/setWebhook?url=' + webappurl;   var response = UrlFetchApp.fetch(url);   Logger.log(response.getContentText()); }  function disableWebhook() {   var url = telegramurl + '/setWebhook?url=';   var response = UrlFetchApp.fetch(url);   Logger.log(response.getContentText()); }   function doPost(e) {   var data = JSON.stringify(e);      var contents = e.postData.contents;   var parsedcontents = JSON.parse(contents);      if (parsedcontents.message.from.id == userid){     if (parsedcontents.message.document){       var archivoid = parsedcontents.message.document.file_id;       var tipoarchivo = 'document';     } else if (parsedcontents.message.photo){       var archivoid = parsedcontents.message.photo[Number(parsedcontents.message.photo.length) - 1].file_id;       var tipoarchivo = 'photo';     }          if (archivoid && tipoarchivo){       var filedata = JSON.parse(UrlFetchApp.fetch(telegramurl + '/getFile?file_id=' + archivoid));       var filepath = filedata.result.file_path;              var response = UrlFetchApp.fetch(downloadurl + '/' + filepath, {muteHttpExceptions: true, followRedirects: true});       var fileblob = response.getBlob();              var resource = {         title: fileblob.getName(),         mimeType: fileblob.getContentType(),       };              var fileweno = Drive.Files.insert(resource, fileblob, {ocr: true, ocrLanguage: "es"});              var eldocpdf = DocumentApp.openById(fileweno.id).getAs('application/pdf');              sendBlobpost(userid, eldocpdf);              DriveApp.getFileById(fileweno.id).setTrashed(true);     }   } }

Para hacer funcionar este script lo primero que debemos hacer es activar la api de Google Drive, haciendo click en Recursos -> Servicios Avanzados de Google

Activamos la Drive Api:

Tras esto, nos vamos a telegram y creamos nuestro bot conforme se explica en: Envío de Mensajes Automáticos a Telegram Mediante Google Apps Script.

Una vez tengamos el bot creado, ponemos el token del bot en la variable bottoken y obtenemos nuestro id de telegram como también se explica en el artículo y lo sustituimos en la variable userid.

Ahora vamos a publicar la aplicación web. Guardamos el proyecto, y vamos a la pestaña publicar → Implementar como aplicación web. Se nos abrirá la siguiente ventana:

Es imprescindible marcar en quién tiene acceso a la aplicación (Who has access to the app), que cualquiera, incluso de forma anónima (Anyone, even anonymous). Aceptamos (Botón Implementar/Deploy), y la ventana se nos cambiará por la siguiente, de la cual debemos coger la url que nos da y modificar en nuestro snippet la parte correspondiente a webappurl. Esta url es la que hay que poner ahí.

Una vez tengáis puesta la webappurl, repetís el proceso de publicación de aplicación web aumentando en +1 la versión.

Bueno, pues todo finito, ahora, conforme le enviéis una foto y/o documento de los siguientes formatos:  JPEG, PNG, GIF Y PDF. El bot os devolverá un pdf en el que tendréis el texto de forma en que podréis operar con él.

Pues aquí llegamos al final del artículo de hoy. La verdad es que pese a que los servicios usados en el script no son demasiado simples, la implementación del mismo sí que creemos que es bastante simple. Así que si llegáis hasta aquí, ¡no dudéis en crearos vuestro propio servicio de OCR gratuito con el que además protegeréis vuestra privacidad!

¿Qué opinas?

Escrito por Antonio David Cruz

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Mejor OCR Gratis Online. Parte 1.

Avada vs Divi – Los 2 themes de WordPress más populares