RのPDFファイルからのテキストデータを解析することは可能ですか? そのような抽出に関連するパッケージではないようです Rで?
PythonにはPDFMinerがあります ですが、可能であれば、この分析をすべてRに保持したいと思います。
助言がありますか?
Linuxシステムにはpdftotext
があり、私はこれでかなりの成功を収めました。デフォルトでは、foo.txt
ギブからfoo.pdf
。
ただし、テキストマイニングパッケージにはコンバーターが含まれている場合があります。 クイックrseek.org検索 は、あなたの厳rantな検索と一致するようです。
これは非常に古いスレッドですが、将来の参照のために: pdftools RパッケージはPDFからテキストを抽出します。
同僚が、この便利なオープンソースツール http://tabula.nerdpower.org/ に切り替えました。 PDFをインストールしてアップロードし、データ化が必要なPDFの表を選択します。Rの直接的な解決策ではありませんが、確かに手作業よりも優れています。
純粋な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行があります。
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])
tabula PDFテーブル抽出アプリは、Java JARパッケージ、 tabula -extractor 。
R tabulizer package は、PDFファイルへのパスを渡し、データテーブルから抽出されたデータを取得することを容易にするRラッパーを提供します。
Tabulaはテーブルの場所を推測するのに役立ちますが、ページのターゲット領域を指定することで、ページのどの部分を見るかを指示することもできます。
データは複数のページから抽出でき、必要に応じて、ページごとに異なる領域を指定できます。
ユースケースの例については、 ドキュメントがデータベースになる場合-Tabulizer RのTabulaのラッパーPDF Table Extractor 。
外部ユーティリティを使用して変換を実行し、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)
}