我正在制作一个在Swirl中运行R的R教程。 我正在尝试在R中打开特定的PDF文件 我正在使用:
file.show(paste(getwd(),"/cv.pdf",sep=""), title="some title")
但显示如下:
它不显示PDF文件。适用于TXT文件。
我正在运行OSX 10.11.1。默认PDF查看器是“预览”,我没有安装Adobe Reader。有没有办法通过R脚本打开PDF文件?
答案 0 :(得分:5)
file.show()
仅用于打开文本文件。如果您想要打开PDF并且知道您将在哪个平台上部署脚本 - 如果它只是您的OS X计算机而不是问题,那么您是否会分享本教程? - 您可以使用system2()
来运行shell可以执行的任何命令,包括Preview.app。
要在OS X系统的默认PDF查看器中打开PDF:
system2('open', args = 'myfile.pdf', wait = FALSE)
要在预览中专门打开PDF:
system2('open', args = c('-a Preview.app', 'myfile.pdf'), wait = FALSE)
请注意,如果您要将脚本从不同的目录执行到PDF,则需要提供完整路径,而不仅仅是文件名。
答案 1 :(得分:0)
如果您想要一些开箱即用的独立于系统的东西, 在“系统”调用中使用 R 中的默认 pdf 查看器:
"%,%" <- paste0
n <- grep("pdf", names(options()))
system(options()[[n]] %,% " <path to file> 2> /dev/null &")
例如
system(options()[[n]] %,% " $R_HOME/site-library/pwrFDR/doc/2021-01-25-NWU-Biostat-Talk.pdf 2> /dev/null &")
答案 2 :(得分:0)
R 命令在 Windows 10 中使用福昕阅读器以指定的缩放比例打开指定页面上的 pdf 文件:
prog = "C:\\Program Files\\...\\FoxitReader.exe"
# or
prog = r"(C:\Program Files\...\FoxitReader.exe)"
fpath = r"(E:\...\myfile.pdf)"
loc = paste0('/A zoom=106% page=', as.character(13))
system(paste(shQuote(prog, type='cmd'), shQuote(fpath, type='cmd'), noquote(loc)))