Teoria

El reconocimiento optico de caracteres (OCR) es una tecnologia utilizada para convertir diferentes tipos de documentos, como imagenes, documentos impresos escaneados, fotografias de texto, archivos PDF, o imagines capturadas con una camara, en datos editables y buscables.

Instalar paquetes y llamar librerias

#install.packages("tesseract") #OCR
library(tesseract)
#install.packages("magick") #PNG
library(magick)
#install.packages("officer") #word
library(officer)
#install.packages("pdftools") #PDF
library(pdftools)

Obtener texto de una imagen en PNG

imagen1 <- image_read("https://www.intentarlo.com/wp-content/uploads/2018/04/cartas-de-amor-cortas-1.jpg")
tesseract_download("spa") #spa es para espanol #para descargar el idioma que va a leer. (other than ingles)
## [1] "C:\\Users\\maria\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/spa.traineddata"
texto1 <- ocr(imagen1, engine = tesseract("spa"))
texto1
## [1] "No se cómo expresarte que eres\nla persona más importante\nde mi vida...\n"

Guardar texto en WORD

doc1 <- read_docx() #hacer doc de word en blanco
doc1 <- doc1 %>% body_add_par(texto1, style = "Normal") #insertar el texto1 en el doc
print(doc1, target = "imagen1enpdf.docx")

Conclusion

El OCR es una tecnologia que nos permite hacer mas eficiente las operaciones de la empresa, ahorrando costos en la captura de la informacion. Con esto, podemos transformar docuementos fisicos en digitales.

A traves de este codigo podemos leer texto desde una imagen descargada en la computadora o directamente desde la web. El programa lee el texto y lo almacena, para despues imprimirlo en un documento word que se guarda en la computadora.

LS0tDQp0aXRsZTogIk9DUiAtIENsYXNlIDMiDQphdXRob3I6ICJNYXJpYW5hIEdhcmNpYSBBMDExNzc3MDUiDQpkYXRlOiAiMjAyNC0wOC0xNCINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiBkYXJrDQogIA0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfSANCmtuaXRyOjpvcHRzX2NodW5rJHNldCh3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkgDQpgYGANCg0KIVtdKEM6XFxVc2Vyc1xcbWFyaWFcXE9uZURyaXZlXFxEZXNrdG9wXFxBRDI0XFxNb2R1bG8gMlxcZ2lmIGxpYnJvLmdpZikNCg0KIyBUZW9yaWENCkVsIHJlY29ub2NpbWllbnRvIG9wdGljbyBkZSBjYXJhY3RlcmVzIChPQ1IpIGVzIHVuYSB0ZWNub2xvZ2lhIHV0aWxpemFkYSBwYXJhIGNvbnZlcnRpciBkaWZlcmVudGVzIHRpcG9zIGRlIGRvY3VtZW50b3MsIGNvbW8gaW1hZ2VuZXMsIGRvY3VtZW50b3MgaW1wcmVzb3MgZXNjYW5lYWRvcywgZm90b2dyYWZpYXMgZGUgdGV4dG8sIGFyY2hpdm9zIFBERiwgbyBpbWFnaW5lcyBjYXB0dXJhZGFzIGNvbiB1bmEgY2FtYXJhLCBlbiBkYXRvcyBlZGl0YWJsZXMgeSBidXNjYWJsZXMuDQoNCiMgSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyaWFzDQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCJ0ZXNzZXJhY3QiKSAjT0NSDQpsaWJyYXJ5KHRlc3NlcmFjdCkNCiNpbnN0YWxsLnBhY2thZ2VzKCJtYWdpY2siKSAjUE5HDQpsaWJyYXJ5KG1hZ2ljaykNCiNpbnN0YWxsLnBhY2thZ2VzKCJvZmZpY2VyIikgI3dvcmQNCmxpYnJhcnkob2ZmaWNlcikNCiNpbnN0YWxsLnBhY2thZ2VzKCJwZGZ0b29scyIpICNQREYNCmxpYnJhcnkocGRmdG9vbHMpDQpgYGANCg0KIyBPYnRlbmVyIHRleHRvIGRlIHVuYSBpbWFnZW4gZW4gUE5HDQpgYGB7cn0NCmltYWdlbjEgPC0gaW1hZ2VfcmVhZCgiaHR0cHM6Ly93d3cuaW50ZW50YXJsby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDQvY2FydGFzLWRlLWFtb3ItY29ydGFzLTEuanBnIikNCnRlc3NlcmFjdF9kb3dubG9hZCgic3BhIikgI3NwYSBlcyBwYXJhIGVzcGFub2wgI3BhcmEgZGVzY2FyZ2FyIGVsIGlkaW9tYSBxdWUgdmEgYSBsZWVyLiAob3RoZXIgdGhhbiBpbmdsZXMpDQp0ZXh0bzEgPC0gb2NyKGltYWdlbjEsIGVuZ2luZSA9IHRlc3NlcmFjdCgic3BhIikpDQp0ZXh0bzENCmBgYA0KIyBHdWFyZGFyIHRleHRvIGVuIFdPUkQNCmBgYHtyfQ0KZG9jMSA8LSByZWFkX2RvY3goKSAjaGFjZXIgZG9jIGRlIHdvcmQgZW4gYmxhbmNvDQpkb2MxIDwtIGRvYzEgJT4lIGJvZHlfYWRkX3Bhcih0ZXh0bzEsIHN0eWxlID0gIk5vcm1hbCIpICNpbnNlcnRhciBlbCB0ZXh0bzEgZW4gZWwgZG9jDQpwcmludChkb2MxLCB0YXJnZXQgPSAiaW1hZ2VuMWVucGRmLmRvY3giKQ0KYGBgDQoNCiMgQ29uY2x1c2lvbg0KRWwgT0NSIGVzIHVuYSB0ZWNub2xvZ2lhIHF1ZSBub3MgcGVybWl0ZSBoYWNlciBtYXMgZWZpY2llbnRlIGxhcyBvcGVyYWNpb25lcyBkZSBsYSBlbXByZXNhLCBhaG9ycmFuZG8gY29zdG9zIGVuIGxhIGNhcHR1cmEgZGUgbGEgaW5mb3JtYWNpb24uIENvbiBlc3RvLCBwb2RlbW9zIHRyYW5zZm9ybWFyIGRvY3VlbWVudG9zIGZpc2ljb3MgZW4gZGlnaXRhbGVzLg0KDQpBIHRyYXZlcyBkZSBlc3RlIGNvZGlnbyBwb2RlbW9zIGxlZXIgdGV4dG8gZGVzZGUgdW5hIGltYWdlbiBkZXNjYXJnYWRhIGVuIGxhIGNvbXB1dGFkb3JhIG8gZGlyZWN0YW1lbnRlIGRlc2RlIGxhIHdlYi4gRWwgcHJvZ3JhbWEgbGVlIGVsIHRleHRvIHkgbG8gYWxtYWNlbmEsIHBhcmEgZGVzcHVlcyBpbXByaW1pcmxvIGVuIHVuIGRvY3VtZW50byB3b3JkIHF1ZSBzZSBndWFyZGEgZW4gbGEgY29tcHV0YWRvcmEuDQoNCg==