ROffice 中的文本格式(对齐、字体大小)

问题描述 投票:0回答:1

我一直在尝试使用Roffice包仅使用代码创建一个word文档(不使用word模板,因为我们的想法是即使其他人没有原始模板也可以使代码可重现)

我现在在格式化文本时遇到问题,为了使它们合理(就像word中的对齐格式),并且在创建文档时,使用calibri字体并且字体大小为12。这是我现在的代码:

if (!requireNamespace("officer", quietly = TRUE)) {
  install.packages("officer")
}
library(officer)
library(dplyr)
library(tidyverse)



# create new word document
new.word.doc=function(){
  my.doc=read_docx()
  return(my.doc)
}

doc=new.word.doc()

doc <- doc %>%
  body_add_par("")  %>%
  body_add("Lorem ipsum", style = "Normal", prop = fp_text(color = "black", bold = TRUE, font.size = 14, font.family = "calibri")) %>%
  body_add_par("")  %>%
  body_add("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", style = "Justify", prop = fp_text(color = "black", bold = FALSE, font.size = 12, font.family = "calibri"))

我应该改变什么?该代码不起作用,当我将样式更改为“正常”时,代码不会选择字体大小或字体系列

r officer
1个回答
0
投票

尝试添加格式化段落,如下所示:

library(officer)
library(stringi)

read_docx() |>
  body_add(
    fpar(
      stringi::stri_rand_lipsum(1),
      fp_p = fp_par(text.align = "justify"),
      fp_t = fp_text(font.size = 12, font.family = "Calibri")
    )
  ) |>
  print("justified.docx")

创建于 2024-04-15,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.