如何解决从R中的Officer包中自定义ph_with函数中的文本
我正在尝试使用Officer包自动执行PowerPoint报告;但是,我无法找出如何自定义文本(字体大小,颜色,字体)。
要添加文本,我正在使用ph_with()函数。我试图使用高级职员的ftext()函数来自定义它,但是它不起作用。在这个例子中
library(officer)
dataframe <- data.frame(column="Sample")
ppt_temp <- read_pptx()
ppt_temp <- add_slide(ppt_temp)
properties <- fp_text(color = "red",font.size = 28,bold = TRUE)
slide_title <- ftext(paste0("These data cover ",dataframe$column[1]),properties)
slide <- ph_with(x = ppt_temp,value = slide_title,location = ph_location_type(type = "title"))
我收到以下错误
Error in UseMethod("ph_with",value) :
no applicable method for "ph_with" applied to an object of class "c('ftext','cot','run')"
如果我不尝试设置文本属性,则可以使用
slide <- ph_with(x = ppt_temp,value = paste0("These data cover ",location = ph_location_type(type = "title))
有什么建议吗?
解决方法
似乎ph_with
期望该值位于段落包装器中。将文本对象包装在fpar()
中。试试
slide <- ph_with(x = ppt_temp,value = fpar(slide_title),location = ph_location_type(type = "title"))
因此,一个完整的示例是
library(officer)
dataframe <- data.frame(column="Sample")
ppt_temp <- read_pptx()
ppt_temp <- add_slide(ppt_temp)
properties <- fp_text(color = "red",font.size = 28,bold = TRUE)
slide_title <- ftext(paste0("These data cover ",dataframe$column[1]),properties)
slide <- ph_with(x = ppt_temp,location = ph_location_type(type = "title"))
print(ppt_temp,target="temp.pptx")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。