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 imagenes capturadas con una camara, en datos editables buscables.

#Instalar paquetes y librerias

library(tesseract)

library(magick)
## Linking to ImageMagick 6.9.12.93
## Enabled features: cairo, fontconfig, freetype, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fftw, ghostscript, x11
library(officer)

library(pdftools)
## Using poppler version 23.04.0

#Obtener texto de una imagen

# Leer el PDF y convertir cada página a imagen
pdf_file <- "/Users/josemarentes/Downloads/eso3.pdf"  # Cambia esta ruta por la de tu archivo PDF
imagenes <- image_read_pdf(pdf_file, density = 300)

# Descargar el motor de Tesseract para español (si no lo tienes)
tesseract_download("spa")
## [1] "/Users/josemarentes/Library/Application Support/tesseract5/tessdata/spa.traineddata"
tesseract_engine <- tesseract("spa")

# Crear un documento de Word
doc <- read_docx()

# Extraer texto de cada imagen (página del PDF) y agregarlo al documento Word
for (i in 1:length(imagenes)) {
  imagen <- imagenes[i] %>% image_convert(format = "png") # Convertir la imagen a PNG para evitar problemas de formato
  texto <- ocr(imagen, engine = tesseract_engine)
  
  # Agregar el texto extraído al documento
  doc <- doc %>% body_add_par(texto, style = "Normal")
}

# Guardar el documento Word
print(doc, target = "texto_extraido.docx")

#Conclusiones En esta actividad, aprendimos a extraer texto de una imagen utilizando la función ocr del paquete Tesseract en R, que nos permite convertir texto de una imagen en datos manipulables. Además, vimos cómo guardar el texto extraído en un documento de Word utilizando las funciones del paquete officer. Este proceso es útil para automatizar la digitalización y almacenamiento de información contenida en imágenes. Permite hacer mas eficiente para las empresas recopilar informacion (digitalizar).

LS0tCnRpdGxlOiAiRXNvIgphdXRob3I6ICJKb3NlIEFuZ2VsIE1hcmVudGVzIgpkYXRlOiAiMjAyNC0wOC0xNCIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiBkYXJrCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKYGBgCgojIFRlb3JpYSAKRWwgcmVjb25vY2ltaWVudG8gb3B0aWNvIGRlIGNhcmFjdGVyZXMgT0NSIGVzIHVuYSB0ZWNub2xvZ2lhIHV0aWxpemFkYSBwYXJhIApjb252ZXJ0aXIgZGlmZXJlbnRlcyB0aXBvcyBkZSBkb2N1bWVudG9zLCBjb21vIGltYWdlbmVzLCBkb2N1bWVudG9zIGltcHJlc29zCmVzY2FuZWFkb3MsIGZvdG9ncmFmaWFzIGRlIHRleHRvLCBhcmNoaXZvcyBQREYsIG8gaW1hZ2VuZXMgY2FwdHVyYWRhcyBjb24gdW5hIGNhbWFyYSwgCmVuIGRhdG9zIGVkaXRhYmxlcyBidXNjYWJsZXMuCgojSW5zdGFsYXIgcGFxdWV0ZXMgeSBsaWJyZXJpYXMgCgoKYGBge3J9CgpsaWJyYXJ5KHRlc3NlcmFjdCkKCmxpYnJhcnkobWFnaWNrKQoKbGlicmFyeShvZmZpY2VyKQoKbGlicmFyeShwZGZ0b29scykKYGBgCgojT2J0ZW5lciB0ZXh0byBkZSB1bmEgaW1hZ2VuIApgYGB7cn0KIyBMZWVyIGVsIFBERiB5IGNvbnZlcnRpciBjYWRhIHDDoWdpbmEgYSBpbWFnZW4KcGRmX2ZpbGUgPC0gIi9Vc2Vycy9qb3NlbWFyZW50ZXMvRG93bmxvYWRzL2VzbzMucGRmIiAgIyBDYW1iaWEgZXN0YSBydXRhIHBvciBsYSBkZSB0dSBhcmNoaXZvIFBERgppbWFnZW5lcyA8LSBpbWFnZV9yZWFkX3BkZihwZGZfZmlsZSwgZGVuc2l0eSA9IDMwMCkKCiMgRGVzY2FyZ2FyIGVsIG1vdG9yIGRlIFRlc3NlcmFjdCBwYXJhIGVzcGHDsW9sIChzaSBubyBsbyB0aWVuZXMpCnRlc3NlcmFjdF9kb3dubG9hZCgic3BhIikKdGVzc2VyYWN0X2VuZ2luZSA8LSB0ZXNzZXJhY3QoInNwYSIpCgojIENyZWFyIHVuIGRvY3VtZW50byBkZSBXb3JkCmRvYyA8LSByZWFkX2RvY3goKQoKIyBFeHRyYWVyIHRleHRvIGRlIGNhZGEgaW1hZ2VuIChww6FnaW5hIGRlbCBQREYpIHkgYWdyZWdhcmxvIGFsIGRvY3VtZW50byBXb3JkCmZvciAoaSBpbiAxOmxlbmd0aChpbWFnZW5lcykpIHsKICBpbWFnZW4gPC0gaW1hZ2VuZXNbaV0gJT4lIGltYWdlX2NvbnZlcnQoZm9ybWF0ID0gInBuZyIpICMgQ29udmVydGlyIGxhIGltYWdlbiBhIFBORyBwYXJhIGV2aXRhciBwcm9ibGVtYXMgZGUgZm9ybWF0bwogIHRleHRvIDwtIG9jcihpbWFnZW4sIGVuZ2luZSA9IHRlc3NlcmFjdF9lbmdpbmUpCiAgCiAgIyBBZ3JlZ2FyIGVsIHRleHRvIGV4dHJhw61kbyBhbCBkb2N1bWVudG8KICBkb2MgPC0gZG9jICU+JSBib2R5X2FkZF9wYXIodGV4dG8sIHN0eWxlID0gIk5vcm1hbCIpCn0KCiMgR3VhcmRhciBlbCBkb2N1bWVudG8gV29yZApwcmludChkb2MsIHRhcmdldCA9ICJ0ZXh0b19leHRyYWlkby5kb2N4IikKYGBgCgoKI0NvbmNsdXNpb25lcyAKRW4gZXN0YSBhY3RpdmlkYWQsIGFwcmVuZGltb3MgYSBleHRyYWVyIHRleHRvIGRlIHVuYSBpbWFnZW4gdXRpbGl6YW5kbyBsYSBmdW5jacOzbiBvY3IgZGVsIHBhcXVldGUgVGVzc2VyYWN0IGVuIFIsIHF1ZSBub3MgcGVybWl0ZSBjb252ZXJ0aXIgdGV4dG8gZGUgdW5hIGltYWdlbiBlbiBkYXRvcyBtYW5pcHVsYWJsZXMuIEFkZW3DoXMsIHZpbW9zIGPDs21vIGd1YXJkYXIgZWwgdGV4dG8gZXh0cmHDrWRvIGVuIHVuIGRvY3VtZW50byBkZSBXb3JkIHV0aWxpemFuZG8gbGFzIGZ1bmNpb25lcyBkZWwgcGFxdWV0ZSBvZmZpY2VyLiBFc3RlIHByb2Nlc28gZXMgw7p0aWwgcGFyYSBhdXRvbWF0aXphciBsYSBkaWdpdGFsaXphY2nDs24geSBhbG1hY2VuYW1pZW50byBkZSBpbmZvcm1hY2nDs24gY29udGVuaWRhIGVuIGltw6FnZW5lcy4KUGVybWl0ZSBoYWNlciBtYXMgZWZpY2llbnRlIHBhcmEgbGFzIGVtcHJlc2FzIHJlY29waWxhciBpbmZvcm1hY2lvbiAoZGlnaXRhbGl6YXIpLgo=