Я думаю, было бы замечательно, если бы ваши вопросы включали желаемый результат. Таким образом, кажется, что ясно, что вы делаете, но на самом деле есть 5 трюков тут и там, о которых ответчик слышит только после ответа на вопрос, который вы на самом деле задали. Я обновлю ответ позже
тоящее время у меня есть код, который работает для поиска по одному слову, можем ли мы найти несколько слов и записать эти совпадающие слова в информационный кадр? (для уточнения, пожалуйста, обратитесь к этомуПочта) этоakrun-х решение, которое работает на одно слово. Вот код:
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))
}
Здесь мы ищем только одно слово, т.е.school
, Можем ли мы искать несколько слов, какschool
, gym
, swimming pool
?
Ожидаемый O / P
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 - -
имя файла= Имя файла
Статус= Если какое-либо слово найдено, то «присутствует», иначе «нет»
страница= Здесь «_1», «_3» определяет номер страницы, на которой было найдено слово ;; на странице «test_1» найдено слово «гимнастика», а на странице «test_3» найдено слово «школа».
слова= Какие все слова были найдены ;; как только "тренажерный зал" и "школа" были найдены на странице 1 и 3 файла test.pdf И только "бассейн" и "тренажерный зал" были найдены на страницах 4 и 7 файла test1.pdf.
ТЕКСТ = Это текст, в котором было найдено слово
Любое предложение на то же самое будет полезно.
Спасибо