Подтвердить что ты не робот

Извлечение текстовых данных из файлов PDF

Можно ли анализировать текстовые данные из файлов PDF в R? Там не является подходящим пакетом для такого извлечения, но кто-нибудь попытался или видел это в R?

В Python есть PDFMiner, но я хотел бы сохранить этот анализ в R, если это возможно.

Любые предложения?

4b9b3361

Ответ 1

В системах Linux есть pdftotext, с которыми я имел разумный успех. По умолчанию он создает foo.txt из выражения foo.pdf.

Тем не менее, пакеты интеллектуального анализа текста могут иметь конвертеры. A быстрый поиск rseek.org, похоже, согласуется с вашим crantastic search.

Ответ 2

Это очень старый поток, но для справок в будущем: pdftools R извлекает текст из PDF файлов.

Ответ 3

Коллега повернул меня к этому удобному инструменту с открытым исходным кодом: http://tabula.nerdpower.org/. Установите, загрузите PDF файл и выберите таблицу в формате PDF, которая требует обработки данных. Не прямое решение в R, но, конечно, лучше, чем ручной труд.

Ответ 4

Решение чисто R может быть:

library('tm')
file <- 'namefile.pdf'
Rpdf <- readPDF(control = list(text = "-layout"))
corpus <- VCorpus(URISource(file), 
      readerControl = list(reader = Rpdf))
corpus.array <- content(content(corpus)[[1]])

тогда у вас будут PDF-строки в массиве.

Ответ 5

tabula Приложение для распаковки таблиц PDF основано на приложении командной строки на основе Java JAR-пакета, tabula-extractor.

R tabulizer package предоставляет R-обертку, которая позволяет легко передавать путь к файлу PDF и извлекать данные из таблиц данных из.

Tabula будет хорошо разбираться, где находятся таблицы, но вы также можете указать, на какую часть страницы посмотреть, указав целевую область страницы.

Данные могут быть извлечены из нескольких страниц, и при необходимости может быть указана другая область для каждой страницы.

Пример использования примера: Когда документы становятся базами данных - Tabulizer R Wrapper для Tabula PDF Table Extractor.

Ответ 6

install.packages("pdftools")
library(pdftools)


download.file("http://www.nfl.com/liveupdate/gamecenter/56901/DEN_Gamebook.pdf", 
              "56901.DEN.Gamebook", mode = "wb")

txt <- pdf_text("56901.DEN.Gamebook")
cat(txt[1])

Ответ 7

Я использовал внешнюю утилиту для преобразования и вызвал ее из R. Все файлы имели ведущую таблицу с требуемой информацией

Установить путь к pdftotxt.exe и преобразовать PDF в текст

exeFile <- "C:/Projects/xpdfbin-win-3.04/bin64/pdftotext.exe"

for(i in 1:length(pdfFracList)){
    fileNumber <- str_sub(pdfFracList[i], start = 1, end = -5)
    pdfSource <- paste0(reportDir,"/", fileNumber, ".pdf")
    txtDestination <- paste0(reportDir,"/", fileNumber, ".txt")
    print(paste0("File number ", i, ", Processing file ", pdfSource))
    system(paste(exeFile, "-table" , pdfSource, txtDestination, sep = " "), wait = TRUE)
}

Ответ 9

Здесь есть пакет, извлекающий данные из PDF файлов с использованием R и API. Нет ограничений на количество PDF файлов, которые можно конвертировать за один раз: https://github.com/expersso/pdftables