使用file.show在R studio中打开PDF

时间:2015-11-18 22:14:50

标签: r pdf

我正在制作一个在Swirl中运行R的R教程。 我正在尝试在R中打开特定的PDF文件 我正在使用:

file.show(paste(getwd(),"/cv.pdf",sep=""), title="some title")

但显示如下:

Output in R-studio

它不显示PDF文件。适用于TXT文件。

我正在运行OSX 10.11.1。默认PDF查看器是“预览”,我没有安装Adobe Reader。有没有办法通过R脚本打开PDF文件?

3 个答案:

答案 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)))