library(tm)
## Loading required package: NLP
library(tesseract)
library(magick)
## Linking to ImageMagick 6.9.12.98
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11
library(officer)
library(pdftools)
## Using poppler version 23.08.0
library(purrr)

Ejercicio 7: OCR

El Reconocimiento óptico de Caracteres (OCR) es una tecnología utilizada para convertir diferentes tipos de documentos, como imágenes, documentos impresos escaneados, fotografias de texto, archivos PDF, o imágenes capturadas con una cámara, en datos editables y buscables.
imagen <- image_read("C:\\Users\\eleyva1\\OneDrive - Steelcase Inc\\Documents\\LIT TEC\\disciplina.jfif")
tesseract_download("spa")
## [1] "C:\\Users\\eleyva1\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/spa.traineddata"
texto1 <- ocr(imagen, engine = tesseract("spa"))
texto1
## [1] "DISCIPLINA\nORGANIZACION LIMPIEZA PUNTUALIDAD\nHACERUNA || TENER UN || ENTREGAR cti\nA [lucir | Eran Pro” | serca [ura\npenoientes. [| cana cosa. | weecasie. [| VAYASA (| TIEMPO. [[ ATEMPO.\nLA DISCPLINA TARDE O TEMPRANO VENCERA A LA INTELIGENCIA\n"
doc1 <- read_docx()
doc1 <- doc1 %>% body_add_par(texto1, style= "Normal")
print(doc1, target = "imagen1enpdf.docx")
El OCR es una tecnología que nos permite hacer más eficiente las operaciones de la empresa, ahorrando costos en la captura de la informacion.
Ejercicio:
pdf1 <- pdf_convert("C:\\Users\\eleyva1\\OneDrive - Steelcase Inc\\Documents\\LIT TEC\\eso3.pdf", dpi = 600)%>%map(ocr)
## Converting page 1 to eso3_1.png... done!
## Converting page 2 to eso3_2.png... done!
## Converting page 3 to eso3_3.png... done!
imagen1 <- image_read("C:\\Users\\eleyva1\\OneDrive - Steelcase Inc\\Documents\\eso3_1.png")
imagen2 <- image_read("C:\\Users\\eleyva1\\OneDrive - Steelcase Inc\\Documents\\eso3_2.png")
imagen3 <- image_read("C:\\Users\\eleyva1\\OneDrive - Steelcase Inc\\Documents\\eso3_3.png")
tesseract_download("spa")
## [1] "C:\\Users\\eleyva1\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/spa.traineddata"
texto1 <- ocr(imagen1, engine = tesseract("spa"))
texto2 <- ocr(imagen2, engine = tesseract("spa"))
texto3 <- ocr(imagen3, engine = tesseract("spa"))
combined_text <- paste0(texto1, texto2, texto3)
doc1 <- read_docx()
doc1 <- doc1 %>% body_add_par(combined_text, style= "Normal")
print(doc1, target = "pdf_eso.docx")
LS0tDQp0aXRsZTogIk9DUiINCmF1dGhvcjogIkVkdWFyZG8gTGV5dmEiDQpkYXRlOiAiMjAyNC0wOC0yNSINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiBjb3Ntbw0KLS0tDQoNCmBgYHtyLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeSh0bSkNCmxpYnJhcnkodGVzc2VyYWN0KQ0KbGlicmFyeShtYWdpY2spDQpsaWJyYXJ5KG9mZmljZXIpDQpsaWJyYXJ5KHBkZnRvb2xzKQ0KbGlicmFyeShwdXJycikNCmBgYA0KDQojIyMjIEVqZXJjaWNpbyA3OiBPQ1INCg0KIyMjIyMgRWwgUmVjb25vY2ltaWVudG8gw7NwdGljbyBkZSBDYXJhY3RlcmVzIChPQ1IpIGVzIHVuYSB0ZWNub2xvZ8OtYSB1dGlsaXphZGEgcGFyYSBjb252ZXJ0aXIgZGlmZXJlbnRlcyB0aXBvcyBkZSBkb2N1bWVudG9zLCBjb21vIGltw6FnZW5lcywgZG9jdW1lbnRvcyBpbXByZXNvcyBlc2NhbmVhZG9zLCBmb3RvZ3JhZmlhcyBkZSB0ZXh0bywgYXJjaGl2b3MgUERGLCBvIGltw6FnZW5lcyBjYXB0dXJhZGFzIGNvbiB1bmEgY8OhbWFyYSwgZW4gZGF0b3MgZWRpdGFibGVzIHkgYnVzY2FibGVzLg0KDQpgYGB7cn0NCmltYWdlbiA8LSBpbWFnZV9yZWFkKCJDOlxcVXNlcnNcXGVsZXl2YTFcXE9uZURyaXZlIC0gU3RlZWxjYXNlIEluY1xcRG9jdW1lbnRzXFxMSVQgVEVDXFxkaXNjaXBsaW5hLmpmaWYiKQ0KdGVzc2VyYWN0X2Rvd25sb2FkKCJzcGEiKQ0KdGV4dG8xIDwtIG9jcihpbWFnZW4sIGVuZ2luZSA9IHRlc3NlcmFjdCgic3BhIikpDQp0ZXh0bzENCmBgYA0KDQpgYGB7cn0NCmRvYzEgPC0gcmVhZF9kb2N4KCkNCmRvYzEgPC0gZG9jMSAlPiUgYm9keV9hZGRfcGFyKHRleHRvMSwgc3R5bGU9ICJOb3JtYWwiKQ0KcHJpbnQoZG9jMSwgdGFyZ2V0ID0gImltYWdlbjFlbnBkZi5kb2N4IikNCg0KYGBgDQoNCiMjIyMjIEVsICoqT0NSKiogZXMgdW5hIHRlY25vbG9nw61hIHF1ZSBub3MgcGVybWl0ZSBoYWNlciBtw6FzIGVmaWNpZW50ZSBsYXMgb3BlcmFjaW9uZXMgZGUgbGEgZW1wcmVzYSwgYWhvcnJhbmRvIGNvc3RvcyBlbiBsYSBjYXB0dXJhIGRlIGxhIGluZm9ybWFjaW9uLg0KDQojIyMjIyBFamVyY2ljaW86DQoNCmBgYHtyfQ0KcGRmMSA8LSBwZGZfY29udmVydCgiQzpcXFVzZXJzXFxlbGV5dmExXFxPbmVEcml2ZSAtIFN0ZWVsY2FzZSBJbmNcXERvY3VtZW50c1xcTElUIFRFQ1xcZXNvMy5wZGYiLCBkcGkgPSA2MDApJT4lbWFwKG9jcikNCg0KYGBgDQoNCmBgYHtyfQ0KaW1hZ2VuMSA8LSBpbWFnZV9yZWFkKCJDOlxcVXNlcnNcXGVsZXl2YTFcXE9uZURyaXZlIC0gU3RlZWxjYXNlIEluY1xcRG9jdW1lbnRzXFxlc28zXzEucG5nIikNCmltYWdlbjIgPC0gaW1hZ2VfcmVhZCgiQzpcXFVzZXJzXFxlbGV5dmExXFxPbmVEcml2ZSAtIFN0ZWVsY2FzZSBJbmNcXERvY3VtZW50c1xcZXNvM18yLnBuZyIpDQppbWFnZW4zIDwtIGltYWdlX3JlYWQoIkM6XFxVc2Vyc1xcZWxleXZhMVxcT25lRHJpdmUgLSBTdGVlbGNhc2UgSW5jXFxEb2N1bWVudHNcXGVzbzNfMy5wbmciKQ0KdGVzc2VyYWN0X2Rvd25sb2FkKCJzcGEiKQ0KdGV4dG8xIDwtIG9jcihpbWFnZW4xLCBlbmdpbmUgPSB0ZXNzZXJhY3QoInNwYSIpKQ0KdGV4dG8yIDwtIG9jcihpbWFnZW4yLCBlbmdpbmUgPSB0ZXNzZXJhY3QoInNwYSIpKQ0KdGV4dG8zIDwtIG9jcihpbWFnZW4zLCBlbmdpbmUgPSB0ZXNzZXJhY3QoInNwYSIpKQ0KY29tYmluZWRfdGV4dCA8LSBwYXN0ZTAodGV4dG8xLCB0ZXh0bzIsIHRleHRvMykNCmBgYA0KDQpgYGB7cn0NCmRvYzEgPC0gcmVhZF9kb2N4KCkNCmRvYzEgPC0gZG9jMSAlPiUgYm9keV9hZGRfcGFyKGNvbWJpbmVkX3RleHQsIHN0eWxlPSAiTm9ybWFsIikNCnByaW50KGRvYzEsIHRhcmdldCA9ICJwZGZfZXNvLmRvY3giKQ0KYGBg