【问题标题】:Fit Flextable to slide size in PowerPoint with officer使 Flextable 适合 PowerPoint 中的幻灯片大小与官员
【发布时间】:2021-05-21 22:48:58
【问题描述】:

我制作了一个具有各种格式的弹性表格,但是当我添加到 PowerPoint 时,表格超出了幻灯片的大小。

我不确定是否必须通过设置列和行大小,或者是否应该在我的 PowerPoint 模板主设置中进行设置。我看到你可以在哪里设置列和行的大小,但没有关于整个弹性表格的尺寸。

代码如下。

library(officer)
library(rvg)
library(flextable)
library(tidyverse)
library(data.table)


pColor <- "#3c5cb0"
std_border = fp_border(color="gray")

outSatTbl <- flextable(head(iris, 19))

outSatTbl <- 
  outSatTbl %>%
  bg(bg = pColor, part = "header") %>% 
  color(color = "white", part = "header") %>%
  merge_h(part = "header") %>%
  add_header_lines(values = "Demo Table") %>%
  align(align = "center", part = "header") %>%
  align(align = "center", part = "body") %>%
  hline(part="body", border = std_border ) %>%
  autofit()


# ---------- Get PowerPoint template and initiate ---------- #


setwd("C:/.../WorkingFolder")

demo <- read_pptx("Rtest.pptx")


# ---------- Add Inpatient table to Power Point ----------- #

demo  <- add_slide(demo , layout = "Title and Content", master = "Theme1") %>%
  ph_with(outSatTbl, location = ph_location_type(type = "body"), use_loc_size = T) %>%
  


print(mho, target = "first_example.pptx")

这会使桌子太大。我可以调整它的大小,但表格看起来仍然很棒,只是想找到我缺少的东西。

【问题讨论】:

    标签: r flextable officer


    【解决方案1】:

    一个选项是设置默认值并更改font.size a la:

    set_flextable_defaults(
      font.size = 28
    )
    

    在你的块中。

    【讨论】:

      【解决方案2】:

      您还可以根据源 df 的行数 (nrow()) 或字符数 (nchar()) 等条件设置一些 flextable 参数。

      #not run
      iris_subset <- ...subset of iris...
      
      if(nrow(iris_subset)>16){
         new_fontsize <- something_smaller
      }else{
         new_fontsize <- current_fontsize
      }
      
      outSatTbl <- 
         flextable(iris_subset) %>%
         fontsize(size = new_fontsize, part="body)
      

      也可以使用类似的方法对表格进行子集化并在附加幻灯片上放置其他行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-08
        • 2020-07-13
        • 1970-01-01
        • 1970-01-01
        • 2022-01-24
        • 1970-01-01
        • 1970-01-01
        • 2013-09-05
        相关资源
        最近更新 更多