如何在R中读取PDF文件

20

有人可以帮助我了解如何阅读PDF文件,其中包含一些表格。我想提取表格中的数据并排列到CSV文件中。

非常感谢。


2
可能是重复的问题 https://dev59.com/cW865IYBdhLWcg3wW9VE - m-dz
1
  • 在此提到的函数:http://www.inside-r.org/packages/cran/tm/docs/readPDF
- m-dz
欢迎来到Stack Overflow!请阅读tourhelp centerhow to ask a good question部分,了解这个网站的工作方式并帮助您改进当前和未来的问题,这可以帮助您获得更好的答案。在此之前最好的方法是通过谷歌或SO搜索,如果您有一个具体的问题,比如您已经尝试过了但它没有起作用,那么这将是一个更适合这种格式的问题。 - help-info.de
2个回答

23

我知道这个问题已经有一段时间了,但我认为提供可重现的示例可能没有坏处:

library(pdftools)
pdftools::pdf_text(pdf = "http://arxiv.org/pdf/1403.2805.pdf")

离线版本:

pdf(file = "tmp.pdf")
plot(1, main = "mytext")
dev.off()
pdftools::pdf_text(pdf = "tmp.pdf")

我时不时地回到这个问题,即使当前的答案很好,但我总是希望找到可重现的代码。所以我想添加它。如果不需要可以删除。


8
您可以在弗吉尼亚大学的《使用pdftools包将PDF文件读入R进行文本挖掘》中找到详细的步骤说明。以下是我提取的一些信息。
请按照上述链接中描述的安装说明进行操作。
完成后,您就可以使用readPDF创建读取PDF文件的函数。您可以随意命名该函数,例如Rpdf。
library(pdftools)
Rpdf <- readPDF(control = list(text = "-layout"))
readPDF函数有一个控制参数,我们使用它来将选项传递给我们的PDF提取引擎。这必须是一个列表形式,因此我们将选项包装在列表函数中。对于xpdf引擎,有两个控制参数:info和text。info将参数传递给pdfinfo.exe,text将参数传递给pdftotext.exe。我们只向pdftotext传递一个参数设置:“-layout”。这告诉pdftptext.exe尽可能保持文本的原始物理布局。
使用Rpdf函数,我们可以继续阅读意见的文本。我们想要做的是将PDF文件转换为文本并将其存储在语料库中,这基本上是一个文本数据库。我们可以使用以下代码完成所有操作:
opinions <- Corpus(URISource(files), readerControl = list(reader = Rpdf))

1
FYI,readPDFtm包中。 - John M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接