如何将格式化段落 (fpar) 添加到占位符内右对齐的 Power Point 演示文稿

How to add formatted paragraph (fpar) to Power Point presentation, right aligned, inside a place holder

我在 R 中有以下代码,使用图书馆 officeR 创建 power point 演示文稿。

无论我如何设置 fp_par object(fpar 的)的 属性 "text.align",标题仍然居中。

有没有办法在用函数 add_ph_empty_at() 添加的占位符中添加右对齐的新文本段落?

谢谢!

require(magrittr)
require(officer)

def_text <- fp_text(color = "black", italic = FALSE, font.size = 20)

lastPhId <- function(presentation) {
  index = presentation$cursor
  x <- slide_summary(presentation, index = index)
  x <- x[x$type == "body", ]
  max(as.numeric(x$id))
}

TITLE = fpar(ftext("My Title", prop = def_text))
TITLE <- update(TITLE, fp_p = fp_par(text.align = "left"))

doc <- read_pptx()
doc %<>% add_slide(layout = "Title and Content", master = "Office Theme") 
doc %<>% ph_empty_at(left = 3, top = 3, height = 1, width = 4, bg = "yellow") 
doc %<>% ph_add_fpar(value = TITLE, id_chr = lastPhId(doc))

print(doc, target = "ph_add_fpar.pptx")
system("cmd.exe", input = "ph_add_fpar.pptx")

我刚刚在Github上更新了officer,现在已经解决了。您将需要使用新的参数 par_default 表示(如果为 FALSE): 不要使用占位符默认段落属性,而是使用 fpar 对象 之一.

require(magrittr)
require(officer)

def_text <- fp_text(color = "black", italic = FALSE, font.size = 20)

lastPhId <- function(presentation) {
  index = presentation$cursor
  x <- slide_summary(presentation, index = index)
  x <- x[x$type == "body", ]
  max(as.numeric(x$id))
}

TITLE = fpar(ftext("My Title", prop = def_text))
TITLE <- update(TITLE, fp_p = fp_par(text.align = "left"))

doc <- read_pptx()
doc %<>% add_slide(layout = "Title and Content", master = "Office Theme") 
doc %<>% ph_empty_at(left = 3, top = 3, height = 1, width = 4, bg = "yellow") 
doc %<>% ph_add_fpar(value = TITLE, id_chr = lastPhId(doc), par_default = FALSE)

print(doc, target = "ph_add_fpar.pptx") %>% browseURL()