如何在Rmarkdown生成的docx文档所有页面添加图片作为页眉页脚
Rmarkdown导出docx添加图片页眉页脚的实现方法
你可以通过以下两种方式实现需求:
方法1:修改reference_docx模板(推荐,操作最简单)
你已经在YAML中配置了reference_docx: "template.docx",直接修改该模板文件即可:
- 打开
template.docx,双击页面顶部/底部区域进入页眉/页脚编辑模式 - 插入对应的页眉、页脚图片,调整尺寸对齐到A4页面边缘
- 将图片的文字环绕方式设置为衬于文字下方,避免遮挡正文内容
- 保存模板文件后直接渲染Rmd即可,原有YAML配置无需改动
方法2:通过officer包代码实现
如果不想手动修改模板,可在Rmd的起始位置添加如下代码块(设置echo=FALSE不输出代码到最终文档):
library(officer) # 配置页眉图片,width设置为21cm刚好匹配A4纸宽度,高度可自行调整 header_pic <- external_img(src = "你的页眉图片本地路径", width = 21, height = 2) header_content <- block_list(fpar(header_pic, fp_p = fp_par(text.align = "center", padding = 0, margin = 0))) set_doc_properties(header = header_content) # 配置页脚图片 footer_pic <- external_img(src = "你的页脚图片本地路径", width = 21, height = 1.5) footer_content <- block_list(fpar(footer_pic, fp_p = fp_par(text.align = "center", padding = 0, margin = 0))) set_doc_properties(footer = footer_content)
完成配置后渲染得到的docx文档,所有页面都会自动添加对应图片作为页眉页脚,效果示例如下:
注意:如果需要不同章节设置不同的页眉页脚,可搭配
block_section函数定义分节属性实现。
内容的提问来源于stack exchange,提问作者Igor Cobelo
相关产品推荐
相关产品推荐

