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

如何自定义Quarto PDF文档渲染后的输出文件名?

在Quarto中自定义PDF输出文件名

方法一:直接在YAML中配置动态文件名

这是最简洁的实现方式,不用写复杂函数,直接在输出配置里用R表达式生成目标文件名:

---
title: "Some title"
author: "First Last"
date: "`r format(Sys.Date(), '%d %B, %Y')`"
output:
  pdf_document:
    output-file: "`r paste0(Sys.Date(), '_Report_FirstLast.pdf')`"
---

点击渲染按钮后,就能生成类似2022-08-08_Report_FirstLast.pdf的文件,和你之前RMarkdown的效果完全一致。

方法二:自定义渲染函数(使用quarto_render)

如果需要更灵活的控制(比如修改输出路径、添加更多动态参数),可以在YAML里定义render字段,调用quarto::quarto_render函数,逻辑和你之前RMarkdown的自定义knit函数对应:

---
title: "Some title"
author: "First Last"
date: "`r format(Sys.Date(), '%d %B, %Y')`"
output: pdf_document
render: |
  function(input_file, encoding) {
    # 生成带日期的输出文件名
    output_file <- file.path(dirname(input_file), paste0(Sys.Date(), "_Report_FirstLast.pdf"))
    # 调用Quarto渲染函数
    quarto::quarto_render(input = input_file, encoding = encoding, output_file = output_file)
  }
---

额外提示

  • 两种方法中的R表达式都要用反引号包裹,Quarto会自动解析执行。
  • 如果想让文件名更灵活(比如自动获取作者名),可以从元数据里提取,比如用quarto::quarto_metadata$author替代硬编码的FirstLast,示例:
    paste0(Sys.Date(), "_Report_", gsub(" ", "", quarto::quarto_metadata$author), ".pdf")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:36:25