Конвертировать PNG-файлы в TXT-файлы - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть 100 отсканированных файлов PDF, и мне нужно преобразовать их в текстовые файлы.

Сначала я преобразовал их в файлы png (см. Скрипт ниже), Теперь мне нужна помощь, чтобы преобразовать эти 100 PNG файлов в 100 текстовых файлов.

library(pdftools)
library("tesseract")

#location
dest <- "P:\\TEST\\images to text"

#making loop for all files
myfiles <- list.files(path = dest, pattern = "pdf",  full.names = TRUE)

#Convert files to png
sapply(myfiles, function(x)
  pdf_convert(x, format = "png", pages = NULL, 
              filenames = NULL, dpi = 600, opw = "", upw = "", verbose = TRUE))

#read files
cat(text)

Я ожидаю, что для каждого файла png будет текстовый файл:

От: file1.png, file2.png, file3.png ...

Кому: file1.txt, file2.txt, file3.txt ...

Но фактическим результатом является один текстовый файл, содержащий текст всех файлов png.

1 Ответ

2 голосов
/ 08 апреля 2019

Полагаю, вы пропустили бит с png -> text битом, но я предполагаю, что вы использовали library(tesseract).

Вы можете сделать следующее в вашем коде:

library(tesseract)
eng <- tesseract("eng")
sapply(myfiles, function(x) {
  png_file <- gsub("\\.pdf", ".png", x)
  txt_file <- gsub("\\.pdf", ".txt", x)
  pdf_convert(x, format = "png", pages = 1, 
              filenames = png_file, dpi = 600, verbose = TRUE)

  text <- ocr(png_file, engine = eng)
  cat(text, file = txt_file)
  ## just return the text string for convenience
  ## we are anyways more interested in the side effects
  text
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...