Jus*_*tin 49 linux pdf r pdf-scraping scrape
这甚至可能!?!
我有一堆遗留报告需要导入数据库.但是,它们都是pdf格式.有没有R
可以阅读pdf的软件包?或者我应该将其留给命令行工具?
报告是在excel中进行的,然后是pdfed,所以它们有规则的结构,但很多空白的"细胞".
Jus*_*tin 31
所以......即使在相当复杂的桌子上,这也让我很接近.
library(tm)
pdf <- readPDF(PdftotextOptions = "-layout")
dat <- pdf(elem = list(uri='bmi_tbl.pdf'), language='en', id='id1')
dat <- gsub(' +', ',', dat)
out <- read.csv(textConnection(dat), header=FALSE)
Run Code Online (Sandbox Code Playgroud)
Car*_*oft 21
只是警告可能希望提取数据的其他人:PDF是容器,而不是格式.如果原始文档不包含实际文本,而不是文本的位图图像,或者甚至可能比我想象的更丑陋的东西,除了OCR之外什么都不能帮助你.
最重要的是,在我的悲伤经历中,无法保证创建PDF文档的应用程序的行为都相同,因此表格中的数据可能会或可能不会按所需顺序读出(因为文档的方式是建).要小心.
可能会让一对研究生为您转录数据更好.他们很便宜:-)
Ben*_*Ben 10
目前包大谈特谈为获取文本的PDF文件进行的是pdftools
(继任者Rpoppler,上面提到的),在Linux,Windows和OSX的伟大工程:
install.packages("pdftools")
library(pdftools)
download.file("http://arxiv.org/pdf/1403.2805.pdf", "1403.2805.pdf", mode = "wb")
txt <- pdf_text("1403.2805.pdf")
# first page text
cat(txt[1])
# second page text
cat(txt[2])
Run Code Online (Sandbox Code Playgroud)
您也可以(现在)使用新的(2015-07)pacakge Rpoppler
:
Rpoppler::PDF_text(file)
Run Code Online (Sandbox Code Playgroud)
它包括3个函数(4个,真的,但只有一个只是让你获得PDF对象的ptr):
PDF_fonts
PDF字体信息PDF_info
PDF文件信息PDF_text
PDF文本提取(发布作为帮助新搜索者找到包裹的答案).