从PDF文件中提取文本数据

Dre*_*way 41 pdf r parser-generator

是否可以从R中解析PDF文件中的文本数据?有没有出现是一个相关包这样的提取,但有没有人尝试或见于读该怎么办?

Python中有PDFMiner,但我想在可能的情况下将此分析保留在R中.

有什么建议?

Dir*_*tel 29

Linux系统有pdftotext我合理的成功.默认情况下,它是foo.txt从give 创建的foo.pdf.

也就是说,文本挖掘包可能有转换器.一个快速rseek.org搜索似乎与你的crantastic搜索同意.

  • 你建议使用文本挖掘包是正确的.`tm`包有`readPDF`,它似乎完全符合我的需要. (10认同)

Rem*_*sma 26

这是一个非常古老的主题,但为了将来参考:pdftools R包从PDF中提取文本.


Niu*_*ang 9

一位同事转向我使用这个方便的开源工具:http://tabula.nerdpower.org/.安装,上载PDF,然后在PDF中选择需要数据化的表格.不是R的直接解决方案,但肯定比手工劳动更好.


小智 9

一个纯粹的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]])
Run Code Online (Sandbox Code Playgroud)

然后你将在一个数组中有pdf行.


psy*_*dia 5

塔布拉 PDF表格提取程序是根据各地基于一个Java的JAR文件包,命令行应用程序塔布拉解压.

所述řtabulizer包提供的R包装,可以很容易地在该路径传递到PDF文件,并从数据表中提炼出来的数据.

Tabula可以很好地猜测表格的位置,但您也可以通过指定页面的目标区域来判断页面的哪个部分.

可以从多个页面提取数据,并且如果需要,可以为每个页面指定不同的区域.

有关示例用例,请参阅:当文档成为数据库时 - Tabulizer R Wrapper for Tabula PDF Table Extractor.


小智 5

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])
Run Code Online (Sandbox Code Playgroud)