2017-09-22 3 views
0

OCR 형식의 pdf 파일에서 추출한 텍스트에서 단어를 검색하려고합니다. 이 pdf 파일에는 여러 페이지가 있으므로 각 페이지마다 단어를 검색하고 그 단어가 발견되면 for 루프를 계속 사용하지 않으려 고합니다. 코드를 사용했지만 첫 페이지에서만 멈 춥니 다. 이 코드에서 내가 뭘 놓치고 있는지. 여기에 코드r에 if 조건의 중단 조건

for(i in 1:8){ 
    img_file <- pdftools::pdf_convert("D:/Files_OCR/test.pdf", format = 'tiff', pages = i, dpi = 400) 
    text <- ocr(img_file) 
    ocr_text <- capture.output(cat(text)) 
    check=sapply(ocr_text, paste0, collapse="") 
    if(length(which(stri_detect_fixed(tolower(check),tolower("school")))) <= 0){ print("Not Present") } else {print("Present")} 
    if(br=="present") 
break 

} 

어떤 제안이 상당한입니다.

감사

+0

휴식 데 도움이 될 것'에 대한 (전에서 ssss에서) {경우 (내가 ==에게 "helo") break; print (i)}'. – lmo

답변

1

stopifnot는 기능입니다 - grepl과이 결합하는 것은 당신이 루프이 아래의 예와 함께 작동

> ssss <- c('hi','helo','confusion','india') 
> ssss 
[1] "hi"  "helo"  "confusion" "india"  
> for(n in ssss){stopifnot(grepl('confusion',n)); print(n)} 
Error: grepl("confusion", n) is not TRUE 
> ssss[1] <- 'confusion' 
> for(n in ssss){stopifnot(grepl('confusion',n)); print(n)} 
[1] "confusion" 
Error: grepl("confusion", n) is not TRUE 
> 
+0

"stopifnot"에 대한 추천 ... – deepesh