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

Shiny App中bookdown::word_document2无法加载指定Word模板问题求助

问题描述

在Shiny App中生成Word文档时,希望使用与应用程序和Markdown文件同目录的特定Word模板。使用常规的word_document输出格式时一切正常,但切换为bookdown::word_document2后,模板未被应用。

  • 已通过下载处理器将模板和报告复制到临时文件夹,可确认模板存在;手动编织文档能正常使用模板,但通过Shiny的下载按钮生成时无效。
  • 该模板修改了H1和H2标题的颜色。

app.R 代码

library(shiny)

temp_folder <- tempfile()
dir.create(temp_folder)

shinyApp(
  ui = fluidPage(
    textInput("headline1", "H1", value = "Headline 1"),
    textInput("headline2", "H2", value = "Headline 2"),
    downloadButton("report", "Generate report")
  ),
  
  
  server = function(input, output,session) {
    output$report <- downloadHandler(
      filename = "myReport.docx",
      content = function(file) {
        tempReport <- file.path(temp_folder, "myReport.Rmd")
        file.copy("myReport.Rmd", tempReport, overwrite = TRUE)
        tempTemplate <- file.path(temp_folder, "myTemplate.docx")
        file.copy("myTemplate.docx", tempTemplate, overwrite = TRUE)
        params <- list(
          headline1=input$headline1,
          headline2=input$headline2
        )
        rmarkdown::render(tempReport, 
                          'word_document', 
                          output_file=file,
                          params=params,
                          encoding="UTF-8",
                          envir=new.env(parent=globalenv())
        )
      }
    )
  }
)

myReport.Rmd 代码

---
title: "reference test"
output:
   bookdown::word_document2:
    reference_docx: myTemplate.docx
    
params:
  headline1: NA
  headline2: NA
---


```{r setup, include=FALSE}
library(knitr)
library(rmarkdown)
library(bookdown)
headline1 <- params$headline1
headline2 <- params$headline2
my written headline
test r headline1

test test

my written second level headline

test r headline2

print(list.files())
print(getwd())

1 2 3

内容的提问来源于stack exchange,提问作者drmariod
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:15:54