tm readPDF: Error in file(con, “r”) : cannot open the connection

给你一囗甜甜゛ 提交于 2019-12-18 09:35:02

问题


I have tried the example code recommended in the tm::readPDF documentation:

library(tm)

if(all(file.exists(Sys.which(c("pdfinfo", "pdftotext"))))) {
    uri <- system.file(file.path("doc", "tm.pdf"), package = "tm")
    pdf <- readPDF(PdftotextOptions = "-layout")(elem = list(uri = uri),
                                                 language = "en",
                                                 id = "id1")
    pdf[1:13]
}

But I get the following error (which occurs after calling the function returned by readPDF):

Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
  cannot open file 'C:\DOCUME~1\Tomas\LOCALS~1\Temp\RtmpU33iWo\pdfinfo31c2bd5762a': No such file or directory

Note that I have installed all xpdf binaries to current directory (but this is handled by the if condition).

EDIT: found out this is a bug. What would be the easiest workaround?


回答1:


Did some debugging and see it fails in tm:::pdfinfo():

status <- system2("pdfinfo", shQuote(normalizePath(file)), 
        stdout = outfile)

This command doesn't create the outfile. According to Redirect system2 stdout to a file on windows this is a bug!



来源:https://stackoverflow.com/questions/18080378/tm-readpdf-error-in-filecon-r-cannot-open-the-connection

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!