我正尝试从以下链接下载文件并自动读取其信息:
问题是,当我尝试阅读pdf上的信息时,出现错误。它似乎断断续续发生,我看不出有什么充分的理由。该错误似乎仅适用于Linux。
library(pdftools)
link = "http://www.leyes.congreso.gob.pe/Documentos/2016_2021/Proyectos_de_Ley_y_de_Resoluciones_Legislativas/PL0361420181108.pdf"
download.file(link, "somefile.pdf")
pdf_info("somefile.pdf")
Error in poppler_pdf_info(loadfile(pdf), opw, upw) :
Embedded NUL in string.
我还尝试了什么:
我怀疑这与我下载文件的方式有关。但是,我不知道我应该尝试哪些替代方法。
答案 0 :(得分:2)
所以,这根本行不通。除分页符外,该文档中没有其他文本。全部都是图片。
如果rJava
在您的系统上可以使用,并且您可以并且很舒适地从不受信任的源(例如GitHub)安装软件包,则可以安装pdfbox
(请注意此处的安全警告,因为我没有更新了pdfbox
JAR,但唯一的缺点是潜在的流程拒绝服务。对此进行了验证,因为它不如pdftools
脆弱。
当我使用httr::write_disk()
或curl::curl_download()
方法获取PDF(在美国也需要一段时间的男孩)时,我做了:
pdfbox::extract_text("~/Downloads/ill-bet-this-is-all-images.pdf")
## # A tibble: 14 x 2
## page text
## <int> <chr>
## 1 1 "\n"
## 2 2 "\n"
## 3 3 "\n"
## 4 4 "\n"
## 5 5 "\n"
## 6 6 "\n"
## 7 7 "\n"
## 8 8 "\n"
## 9 9 "\n"
## 10 10 "\n"
## 11 11 "\n"
## 12 12 "\n"
## 13 13 "\n"
## 14 14 "\n"
景气:没有文字。
您需要使用某些rOpenSci图像到文本OCR工具从该文档中获取有意义的内容。