r - 在 R 警官中,如何为 PowerPoint 设置文本和项目符号级别的格式

标签 r powerpoint officer

所以我正在努力使用officer包在R中创建一个自动的powerpoint报告。我想创建一个具有多个级别的项目符号列表,但我需要能够为每行设置特定的文本格式(即我希望前两个单词为绿色,而该行的其余部分为黑色)。我尝试使用 unordered_list() 但此命令不允许我需要的特定文本格式。我已经尝试过下面的代码,该代码对我想要的文本进行颜色/粗体显示,但 ph_add_par(level = ) 不会缩进项目符号点。

有没有一种方法可以让我按照自己想要的方式格式化文本,同时还能够操纵项目符号级别?我希望它看起来像这样:

enter image description here

library(officer)
    report <- read_pptx()
    sprint_1 <- sprintf("%s total crimes in %s %s", 
                        tc20, params$month, params$year)

    report%>%
        add_slide(layout = 'Title and Content', master = 'Office Theme')%>%
      ph_with(value = "Academy: Summary Notes", location = ph_location_type(type = "title"))%>%
        ph_empty(location = ph_location_type("body")) %>%
        ph_add_par(level = 1L)%>%
        ph_add_text(str = sprint_1, style = fp_text(color = "black", font.size = 28, bold = TRUE, underlined = TRUE))%>%
        ph_add_par(level = 2L)%>%
        ph_add_text(str = paste("compared to this time in ", params$pastyear, " (", tc_ytd19, " total crimes)", sep = ""), 
                    style = fp_text(color = 'black', font.size = 24)) %>% 
        ph_add_text(str = paste(pct_chg_mth, "change", sep = " "),
                    style = fp_text(color = "green", font.size = 24)) -> report

最佳答案

我无法运行您的代码,但以下代码应该有所帮助。使用 block_list 并在 ph_with 调用中设置 level_list=c(1L, 2L, 1L)

library(officer)

fpt_blue_bold <- fp_text(color = "#006699", bold = TRUE)
fpt_red_italic <- fp_text(color = "#C32900", italic = TRUE)

value <- block_list(
  fpar(ftext("hello world", fpt_blue_bold)),
  fpar(ftext("hello", fpt_blue_bold), " ",
       ftext("world", fpt_red_italic)),
  fpar(
    ftext("blah blah blah", fpt_red_italic)))
value

doc <- read_pptx()
doc <- add_slide(doc)
doc <- ph_with(doc, value, location = ph_location_type(type = "body"), 
               level_list = c(1L, 2L, 1L))
print(doc, target = "test.pptx")

enter image description here

关于r - 在 R 警官中,如何为 PowerPoint 设置文本和项目符号级别的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61733055/

相关文章:

r - 根据特定因素组合对行求和

c# - Powerpoint 到文本 C# - Microsoft.Interop

vba - 以编程方式将字体格式应用于 PowerPoint 文本

.net - 有哪些基于 Open XML SDK 构建的框架?

r - 使用官员创建 pdf 和 word docx

R 通过 R_LIBS 设置库路径

根据列名称的条件重命名列

r - 使用officeR包中的body_replace_img_at_bkm函数保持宽高比图像

r - 使用官员将图像添加到文本框

regex - 如何删除R中字符串中特定位置的空格?