Функция R для сортировки PDF-файлов по папкам на основе их содержимого

Я пытаюсь сортировать pdf-файлы по папкам на основе содержимого pdf и обращаться к нему в базе данных с тремя столбцами: имя_файла, путь_к_папке и идентификатор, чтобы мы знали, кто есть кто в базе данных.

у меня есть этот код

          ordenar_documents <- function(pdf_folder, db_file) {
  # Read the database into a data frame
  folders <- read_excel(db_file, col_types = c("text", "text", "text"))
  
  # Get a list of all PDF files in the folder
  pdf_files <- list.files(pdf_folder, pattern = ".pdf$", full.names = TRUE)
  
  # Iterate through each PDF file
  for (pdf_file in pdf_files) {
    # Extract text from the PDF file
    pdf_content <- pdf_text(pdf_file)
    
    # Iterate through each row of the database
    for (i in 1:nrow(folders)) {
      # Check if the file_name is present in the PDF content
      if (grepl(folders$file_name[i], pdf_content)) {
        # Get the destination folder
        dest_folder <- folders$folder_path[i]
        
        # If the destination folder exists, move the PDF file
        if (dir.exists(dest_folder)) {
          file.rename(pdf_file, file.path(dest_folder, nom_document))
          break
        } else {
          # Print an error message if the destination folder does not exist
          cat(paste0("Error: folder does not exist - ", dest_folder, "\n"))
        }
      }
    }
  }
}

и когда я пытаюсь запустить эту функцию, я просто получаю следующее:

Ошибка в if (grepl(folders$file_name[i], pdf_content)) { : длина условия > 1

Есть ли у вас какие-либо советы, чтобы решить эту проблему?

0 ответов

Другие вопросы по тегам