【问题标题】:How to add a border to fpar in Officer R如何在警官 R 中为 fpar 添加边框
【发布时间】:2020-12-19 22:37:09
【问题描述】:

我正在尝试使用Officer 包来创建docx。我想创建具有不同级别和文本样式的段落,同时让每个段落都有自己的边框。我尝试将fp_parblock_list 命令和fpar 命令一起使用,但没有运气。有任何想法吗?这是我一直在尝试的:

library(officer)
library(dplyr)

reg24 <- fp_text(color = "black", font.size = 24)
bold <- fp_text(color = "black", font.size = 24, bold = TRUE)
underline <- fp_text(color = "black", font.size = 24, underlined = TRUE)
bigbold <- fp_text(color = "black", font.size = 28, bold = TRUE)
border <- fp_par(
  text.align = "left",
  padding = 0,
  border = fp_border(color = "black", style = "solid", width = 1))

summary <- block_list(
fpar(ftext("9", bigbold),
         ftext("Address", bold))%>%
    fpar(ftext("Status:", underline),
         ftext("Under Construction", reg24))%>%
    fpar(ftext("Expected Completion:", underline),
         ftext("2020", reg24))%>%
    fpar(ftext("Investment:", underline),
         ftext("$2,000,000")))

我不知道从哪里开始,因为似乎没有办法让段落具有不同的层次、不同的文本样式、边框。有什么建议吗?

【问题讨论】:

    标签: r docx officer


    【解决方案1】:

    你可以使用这个例子:

    library(officer)
    library(dplyr)
    
    img.file <- file.path( R.home("doc"), "html", "logo.jpg" )
    fpt_blue_bold <- fp_text(color = "#006699", bold = TRUE)
    fpt_red_italic <- fp_text(color = "#C32900", italic = TRUE)
    
    border <- fp_par(
      text.align = "left",
      padding = 0,
      border.bottom = fp_border(color = "red", style = "solid", width = 1))
    
    value <- block_list(
      fpar(ftext("hello world", fpt_blue_bold), fp_p = border),
      fpar(ftext("hello", fpt_blue_bold), " ", ftext("world", fpt_red_italic))
    )
    
    
    read_docx() %>% 
      body_add_blocks(value) %>% 
      print(target = "coco.docx")
    

    【讨论】:

    • 这正是我想要的!感谢您的帮助,David,以及 Officer 软件包!
    猜你喜欢
    • 2021-06-17
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    相关资源
    最近更新 更多