首页 > 解决方案 > 同一行上的徽标和文字 警官 R

问题描述

我需要在我的文档上放置一个徽标并在同一行上放置一个文本。


library(officer)
library(magrittr)

my_doc <- read_docx()

my_doc <- my_doc %>%
  body_add_fpar(fpar(ftext(
    paste0("Text"),
    fp_text( font.size = 16)),
    fp_p = fp_par(text.align = "right",shading.color = '#E8E8E8')), pos = 'on') 

my_doc <- my_doc %>%
  body_add_img('logo.png', width = 3, height = 0.9, pos = 'after')

my_doc <- my_doc %>%
  body_add_fpar(fpar(ftext(
    paste0("Text"),
    fp_text( font.size = 16)),
    fp_p = fp_par(text.align = "right",shading.color = '#E8E8E8')), pos = 'after') 
my_doc <- my_doc %>%
  body_add_fpar(fpar(ftext(
    paste0("Text"),
    fp_text( font.size = 16)),
    fp_p = fp_par(text.align = "right",shading.color = '#E8E8E8')), pos = 'after') 
my_doc <- my_doc %>%
  body_add_fpar(fpar(ftext(
    paste0("Text"),
    fp_text( font.size = 16)),
    fp_p = fp_par(text.align = "right",shading.color = '#E8E8E8')), pos = 'after') 

print(my_doc, target = 'file.docx')

目前的结果是:

在此处输入图像描述

期望的结果是:

在此处输入图像描述

我试图操纵位置,试图创建某种 2 列布局。没有成功...

标签: rofficer

解决方案


这是一个包含 2 列部分的解决方案:

library(officer)
library(magrittr)

img.file <- file.path( R.home("doc"), "html", "logo.jpg" )

a_par <- fpar(
  external_img(src = img.file, height = 1.06/2, width = 1.39/2),
  fp_p = fp_par(text.align = "center", padding = 5))

b_par <- fpar(
  run_columnbreak(),
  "Text",
  run_linebreak(),
  "Text",
  run_linebreak(),
  "Text",
  run_linebreak(),
  "Text",
  run_linebreak(),
  "Text",
  run_linebreak(),
  fp_p = fp_par(text.align = "center", padding = 5))

doc_1 <- read_docx()

page_size <- docx_dim(doc_1)$page

bs <- block_section(prop_section(
  section_columns = section_columns(widths = c(3, 1), space = .1, sep = FALSE),
  page_size = page_size(width = page_size["width"], height = page_size["height"]),
  type = "continuous"))

doc_1 <- body_add_fpar(doc_1, value = a_par)
doc_1 <- body_add_fpar(doc_1, value = b_par)
doc_1 <- body_end_block_section(doc_1, bs)
doc_1 <- body_add_par(doc_1, value = "a new section", style = "Normal")

print(doc_1, target = tempfile(fileext = ".docx")) 

在此处输入图像描述


推荐阅读