You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让R语言gt包导出的PNG/PDF表格显示非粗体文本

可行解决方案

1. 显式指定字体与完整文本样式

该问题多由导出时字体 fallback 到只有粗体字重的字体导致,可在定义样式时明确指定系统中存在常规字重的字体,同时全局配置表格文本样式,修改后的参考代码如下:

# 提前安装依赖
# install.packages("webshot2")
# webshot2::install_chromium()

gt::exibble %>%
  gt::gt(
    rowname_col = "row",
    groupname_col = "group"
  ) %>% 
  # 全局设置所有文本默认样式,优先级低于局部样式
  gt::tab_options(
    table.font.names = c("Arial", "Microsoft YaHei", "sans-serif"),
    table.font.weight = "normal"
  ) %>%
  gt::tab_style(
    style = gt::cell_text(weight = "normal"),
    locations = gt::cells_body()
  ) %>% 
  gt::tab_style(
    style = gt::cell_text(weight = "bold"),
    locations = gt::cells_column_labels()
  ) %>% 
  gt::gtsave("~/junk/exibble.png", expand = 10)

2. 更换导出渲染引擎

gt默认导出静态文件时若走LaTeX路径容易出现样式不兼容,可强制使用HTML渲染链路导出,和RStudio查看器效果完全一致:

  • 导出PNG:安装webshot2包后,gtsave会自动调用该包作为渲染后端,无需额外配置
  • 导出PDF:先将表格保存为HTML文件,再用pagedown::chrome_print()转为PDF,样式完全匹配HTML预览效果

3. 升级gt包到开发版本

官方已在开发版中修复了大量LaTeX/HTML样式兼容问题,可安装开发版验证是否解决问题:

remotes::install_github("rstudio/gt")

4. 排查系统字体配置

如果上述方案无效,可检查系统字体配置:

  • Windows:进入控制面板-字体,确认你使用的字体存在「常规」字重版本
  • macOS:打开字体册,找到对应字体,确认包含常规粗细的字体文件
  • Linux:执行fc-list : family style查看已安装字体的字重,安装缺失的常规字重字体即可

内容的提问来源于stack exchange,提问作者ZRoss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 11:45:03