Generating placeholder slides for your presentation

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Overview

This vignette shows how to add placeholder slides, including title slides and section headers, to a PowerPoint presentation using autoslider.core.

The main function for this is append_all_slides, which takes in a structured page_list as input to define the slides you want to add. This approach is ideal for quickly building a standardized presentation from scratch.

Generating a Deck with append_all_slides

The append_all_slides function automates adding multiple slides by reading a page_list you provide. Each item in this list defines a single slide's properties.

Each slide definition in the page_list must be a list containing:

type: The kind of slide to add ("title" or "section").

to_page: The page number where the slide should be inserted.

Content parameters:

Fortype = "title", you need to provide a study_id.

For type = "section", you need to provide a section_title.

Example: Generating placeholder slides

Here’s a complete example. We'll start with an empty presentation, define a page_list for our slides, and then call append_all_slides to generate the final deck and save it to a file.

library(officer)
library(tools)

# 1. Define a initial presentation file
input <- "My_Presentation.pptx"
read_pptx() %>% print(target = input)

expected_output_file <- file.path(
  dirname(input),
  paste0(file_path_sans_ext(basename(input)), "_final.pptx")
)

# 2. Define the presentation structure with a page_list
my_page_list <- list(
  list(type = "title", to_page = 1, study_id = "Project No.1"),
  list(type = "section", to_page = 2, section_title = "Introduction"),
  list(type = "section", to_page = 3, section_title = "Methodology")
)

# 3. Call append_all_slides to generate the deck
# Set save_file = TRUE to write the result to a new file.
# If you have an existing pptx object to modify on, pass it into `doc_original`.
doc_result <- append_all_slides(
  doc_o = temp_pptx,
  page_list = my_page_list,
  doc_original = NULL,
  save_file = TRUE
)

# 4. Verify the output
cat(paste("Number of slides created:", length(doc_result), "\n"))
cat(paste("Output file exists:", file.exists(expected_output_file)))

This script produces a new PowerPoint file named My_Presentation_final.pptx, containing the three slides defined in my_page_list.

Notes



Try the autoslider.core package in your browser

Any scripts or data that you put into this service are public.

autoslider.core documentation built on Aug. 8, 2025, 6:44 p.m.