如何在我的 PDF 输出 (R Shiny) 中添加徽标?

How can i add a logo in my PDF Output (R Shiny)?

我有这个最小的 R Shiny 示例,我想在页面顶部添加一个徽标。

有没有可能?

谢谢!

library(shiny)
shinyApp(
  ui = fluidPage(DT::dataTableOutput('tbl')),
  server = function(input, output) {
    output$tbl = DT::renderDataTable(server = FALSE,
      iris,extensions="Buttons",options = list(dom = 'Bfrtip',initComplete = JS(
        "function(settings, json) {",
        "$(this.api().table().header()).css({'color': '#fff','background':'#dd4b39'});",
        "}"),
        buttons = list(
          list(extend = "pdf",title = "My DataTable")
        )
    ))
  }
)
library(shiny)
library(DT)
library(base64enc)

ui <- fluidPage(
  tags$head(
    tags$script(src = "https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"),
    tags$script(src = "https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js")
  ),
  br(),
  DTOutput("dtable")
)

server <- function(input, output, session){
  
  output[["dtable"]] <- renderDT({
    datatable(
      iris[1:5,],
      extensions = "Buttons",
      options = list(
        dom = "Bfrtip",
        buttons = list(
          list(
            extend = "pdfHtml5",
            customize = JS(
              "function(doc) {",
              "  doc.content.splice( 1, 0, {",
              "    margin: [ 0, 0, 0, 12 ],",
              "    alignment: 'center',",
              sprintf(
                "    image: '%s',", 
                dataURI(
                  file = "https://www.r-project.org/logo/Rlogo.png", 
                  mime = "image/png"
                )
              ),
              "    width: 50",
              "  })",
              "}"
            )
          )
        )
      )
    )
  })
  
}

shinyApp(ui, server)