You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中向物理打印机打印文档?是否有类似Python的方案?

R语言打印文档的可行方案

1. Windows系统下的便捷实现(对标Python的os.startfile)

在Windows环境中,无需额外依赖包,可通过调用系统的rundll32.exe实现和os.startfile一致的效果——调用默认程序打开文档并触发打印,支持Word、PDF、文本等系统可识别的格式:

# 打印PDF文档(shell命令写法)
shell('rundll32.exe url.dll,FileProtocolHandler "myPDF.pdf" /print')

# 更规范的system2写法
system2("rundll32.exe", args = c("url.dll,FileProtocolHandler", "myPDF.pdf", "/print"))

2. 跨平台通用方案(调用系统原生打印命令)

如果需要兼容Windows、Linux、macOS,还是得依赖系统原生打印工具:

  • Linux/macOS:直接使用lpr命令,指定打印机(省略-P则用默认打印机):
    system2("lpr", args = c("-P", "你的打印机名称", "myPDF.pdf"))
    
  • Windows:除了上面的rundll32方法,也可调用lpr.exe(通常位于System32目录),示例:
    system2("lpr.exe", args = c("-S", "打印机IP/名称", "-P", "", "myPDF.pdf"))
    

3. R专属对象打印方案(针对R生成内容)

如果是打印R内部生成的对象(如数据框、图表),可以用printer包,但它不支持直接打印外部文档:

install.packages("printer")
library(printer)

# 打印数据框
print_df(mtcars)

# 打印ggplot图表
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
print_plot(p)

总结:Windows上用rundll32的方式就能实现类似Python的便捷打印,无需依赖lpr.exe;跨平台场景则需调用对应系统的原生打印命令。

内容的提问来源于stack exchange,提问作者OldManSeph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 13:10:49