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
相关产品推荐
相关产品推荐

