Compruebe si hay varias palabras en la coincidencia de cadena para la búsqueda de texto en r

Actualmente tengo un código que funciona para la búsqueda de una palabra, ¿podemos buscar varias palabras y escribir esas palabras coincidentes en un marco de datos? (para aclaraciones, consulte estoenviar) esto esakrun's solución que funciona para una palabra. Aquí está el código:

 library(pdftools)
 library(tesseract)

 All_files <- Sys.glob("*.pdf")
 v1     <- numeric(length(All_files))
 word   <- "school"
 df     <- data.frame()
 Status <- "Present"

for (i in seq_along(All_files)){
  file_name <- All_files[i]

  cnt <- pdf_info(All_files[i])$pages
  print(cnt)
  for(j in seq_len(cnt)){
      img_file <- pdftools::pdf_convert(All_files[i], format = 'tiff', pages = j, dpi = 400)
      text     <- ocr(img_file)
      ocr_text <- capture.output(cat(text))
      check    <- sapply(ocr_text, paste, collapse="")
      junk     <- dir(path= paste0(path, "/tiff"), pattern="tiff")
      file.remove(junk)
      br <-if(length(which(stri_detect_fixed(tolower(check),tolower(word)))) <= 0) "Not Present"  
              else "Present" 
      print(br)       
      if(br=="Present") {
         v1[i] <- j
         break}
    }

    Status <- if(v1[i] == 0) "Not Present" else "Present"
    pages  <- if(v1[i] == 0) "-" else 
      paste0(tools::file_path_sans_ext(basename(file_name)), "_", v1[i])
    words  <- if(v1[i] == 0) "-" else word
    df     <- rbind(df, cbind(file_name = basename(file_name),
                    Status, pages = pages, words = words))
}

Aquí estamos buscando solo una palabra, es decirschool. ¿Podemos buscar varias palabras comoschool, gym, swimming pool?

O / P esperado

fileName   Status        Page             Words                    TEXT
test.pdf   Present     test_1             gym            I go gym regularly  
test.pdf   Present     test_3             school     Here is the next school
test1.pdf  Present     test1_4            swimming pool  In swimming pool
test1.pdf  Present     test1_7            gym         next to Gold gym
test2.pdf  Not Present    -               -

nombre del archivo= Nombre del archivo

Estado= Si se encuentra alguna palabra, entonces "Presente" más "No presente"

Página= Aquí "_1", "_3" define el número de página en la que se encontró la palabra ;; en la página "test_1" se encontró la palabra "gym" y en la página "test_3" se encontró la palabra "school".

Palabras= Que se encontraron todas las palabras ;; como solo se encontró "gimnasio" y "escuela" en las páginas 1 y 3 del archivo test.pdf Y solo se encontraron "piscina" y "gimnasio" en las páginas 4 y 7 del archivo test1.pdf.

TEXTO = Es el texto en el que se encontró la palabra

Cualquier sugerencia sobre el mismo será útil.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta