Установка высоты строки в таблице, созданной с помощью flextable, вставленной в PowerPoint с помощью Officer

Я нарисовал несколько фреймов данных с текстом внутри, в каждой ячейке которого присутствуют разрывы строк, фрейм данных преобразуется в flextable, а затем вставляется в слайд PowerPoint с помощью officer. Я обнаружил, что высота строки слишком велика, я попытался использовать функцию height_all в flextable, чтобы уменьшить высоту строки, но она не работает. Пожалуйста, найдите образец кода, как показано ниже:

library(officer)
library(dplyr)

pptx.output.st00 <- read_pptx()

data(iris)
data.df <- head(iris) %>%
  as_tibble %>%
  mutate_all(.,as.character) %>%
  mutate_all(.,~paste0(.,'\ntesting'))

pptx.tbl <- data.df %>%
  flextable %>%
  height_all(height = 0.01) # this line is not working

pptx.output.st01 <- pptx.output.st00 %>%
  add_slide(.,layout = 'Title and Content',master = 'Office Theme') %>%
  ph_with(.,value=pptx.tbl,location=ph_location(type='body'))

print(pptx.output.st01,'presentation.output.pptx')

В настоящее время мне нужно вручную изменить параметры абзаца для таблицы, как показано на снимке экрана ниже:

введите здесь описание изображения

Есть ли способ в officer из flextable установить высоту строки для таблицы? Спасибо!


person lokheart    schedule 11.06.2020    source источник


Ответы (1)


Я не удовлетворен этим специальным способом, но padding(padding.top = 0, padding.bottom = 0.5) и height_all(0.45) дают немного лучший результат.

pptx.output.st01 <- pptx.output.st00 %>%
  add_slide(.,layout = 'Title and Content',master = 'Office Theme') %>%
  ph_with(.,
          value=pptx.tbl %>% 
            padding(padding.top = 0, padding.bottom = 0.5) %>% 
            height_all(0.45),
          location=ph_location(type='body'))

введите здесь описание изображения

person cuttlefish44    schedule 11.06.2020
comment
Регулировка отступов работает, между тем как межстрочный интервал можно отрегулировать? Спасибо! - person lokheart; 12.06.2020