Windows系统中R调用xpdf返回错误(状态码127)求助
状态码127本质上就是系统找不到你要调用的xpdf相关命令,虽然你已经把路径加到环境变量里,但大概率是某个细节没处理到位,我给你梳理几个排查方向:
先确认环境变量是否真的生效
环境变量修改后,已经打开的R/RStudio窗口不会自动读取新的配置,必须完全关闭所有R相关窗口,重新打开。之后可以在R里运行Sys.getenv("PATH"),查看输出里是否包含你的xpdf所在目录——如果没有,要么是环境变量没加对,要么就是没重启程序。检查调用的命令是否正确
xpdf在Windows下不是以xpdf这个命令直接调用的,它的核心工具是pdftotext.exe、pdfinfo.exe这类可执行文件。比如你要测试是否能调用,应该在R里运行system("pdftotext --version"),而不是直接打xpdf。
另外可以先在CMD命令提示符里直接运行pdftotext --version,如果CMD里都报错,那问题肯定出在环境变量或者xpdf本身;如果CMD能正常返回版本,那再回到R里重试。避开路径里的空格和特殊字符
如果你的xpdf存放路径包含空格(比如C:\Program Files\Xpdf),有时候系统解析环境变量会出问题。最简单的办法是把xpdf移到没有空格的目录,比如C:\xpdf,然后把这个新路径加到环境变量里,重启R再试。直接用绝对路径调用(兜底方案)
如果上面的方法都不管用,直接绕过环境变量,在R里指定xpdf工具的绝对路径。比如:# 注意用正斜杠或者双反斜杠,路径有空格的话要加引号 system('"C:/xpdf/bin/pdftotext.exe" --version')确认xpdf版本适配Windows
别下错版本了!一定要下载Windows对应的xpdf压缩包,解压后里面的exe文件才是能在Windows上运行的,下成Linux或Mac版肯定会报错。
内容的提问来源于stack exchange,提问作者user8270077

