1

tm :: readPDF ドキュメントで推奨されているサンプル コードを試してみました。

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]
}

しかし、次のエラーが発生します( によって返された関数を呼び出した後に発生します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

すべての xpdf バイナリを現在のディレクトリにインストールしたことに注意してください (ただし、これはif条件によって処理されます)。

編集:これはバグであることがわかりました。最も簡単な回避策は何ですか?

4

1 に答える 1

3

いくつかのデバッグを行い、失敗することを確認しましたtm:::pdfinfo():

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

このコマンドは出力ファイルを作成しません。Redirect system2 stdout to a file on windows によると、これはバグです!

于 2013-08-06T12:58:01.207 に答える