Skip to contents

Below we demonstrate how a list of objects can be passed to as_docorator to output a multi-page PDF document, with page numbers generated using doc_pagenum(). Note: doc_pagenum() is only supported for PDF output.

Your list can consist of any combination of docorator supported objects e.g gt tables, ggplots, PNGs etc. In the example below we create a list with a ggplot and a gt table.

library(docorator)
library(ggplot2)
library(gt)

# Create a plot
plot <- ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  labs(title = "Weight vs MPG")

# Create a table
tbl <- head(mtcars) |>
  gt::gt()

# Combine into a list
output_list <- list(
  plot,
  tbl
)

# Run `as_docorator` and set headers and footers
as_docorator(
  output_list,
  display_name = "multi_page_example",
  header = fancyhead(fancyrow(right = doc_pagenum()), # `doc_pagenum` will set pagenumbers in the right header
                     fancyrow(center = "Multipage Display")),
  footer = fancyfoot(fancyrow(left = "Footnote1"))
) |>  # render
render_pdf()

This will produce a PDF with a plot on the first page, a table on the second, and page numbers in the top right corner.