固定宽度下计算flextable适配内容的最小行高以拆分到多页PPT
解决方法
你通过dim()函数获取到的是手动设置的行高参数值,并非表格实际渲染后的真实高度,可通过flextable_dim()函数获取渲染后的真实尺寸:
# 运行你提供的示例代码后,执行以下命令 # 获取表格整体渲染后的宽高(单位:英寸) real_dim <- flextable_dim(ft) real_dim$height # 获取各部分的逐行真实高度 part_dims <- attr(real_dim, "part_dimensions") # 表头行真实高度 part_dims$header$heights # 表体行真实高度 part_dims$body$heights
另外注意你示例中设置了hrule(rule = "exact"),该参数会强制行高严格等于你设置的0.25英寸,超出行高的内容会被截断。如果希望行高可以自动适配内容长度,将该参数改为hrule(rule = "atleast")即可,行高会在不小于你设置的0.25英寸的基础上自动撑开适配内容。
如果需要自动拆分超限表格适配PowerPoint页面,不需要手动计算行高拆分,可直接使用split_ft_by_height()函数,指定单页可容纳的最大高度即可自动拆分出适配的子表格:
# 假设单页PPT预留的表格最大高度为5英寸,可根据实际排版调整 splited_ft <- split_ft_by_height(ft, max_height = 5) # 输出的splited_ft为拆分好的表格列表,按顺序插入不同PPT页面即可
内容的提问来源于stack exchange,提问作者Giovanni Colitti
相关产品推荐
相关产品推荐

