This function adds a page footer to the report. The page footer will appear on each page of the report, at the bottom of the page. The page footer contains three sections: left, center, and right. Content for each section may be specified with the appropriate parameter.

page_footer(x, left = "", center = "", right = "", blank_row = "above")

Arguments

x

The report spec object.

left

The left page footer text. May be a single string or a vector of strings.

center

The center page footer text. May be a single string or a vector of strings.

right

The right page footer text. May be a single string or a vector of strings.

blank_row

Whether to create a blank row above the page footer. Valid values are 'above' and 'none'. Default is 'above'.

Value

The modified report.

Details

Only one page footer is allowed per report. The page footer will appear on all pages of the report. The page footer may contain text on the left, right, or center. Use the appropriate parameters to specify the desired text for each section. Multiple strings may be passed to each section as a vector of strings.

If the width of the page header string exceeds the available space, an error will be generated. In addition, there is a limit of 5 strings for each page footer section.

There are two special tokens to generate page numbers: [pg] and [tpg]. Use [pg] to indicate the current page number. Use [tpg] to indicate the total number of pages in the report. These tokens may be placed anywhere in the page header or page footer.

Use the blank_row parameter to control the blank space above the page footer.

Each footer string must fit within the available space. The reporter package will not wrap footer. If a footer string does not fit within the available space, an error will be generated. In these situations, either shorten the footer string or split it into multiple footers that each fit within the available space.

Examples

library(reporter)
library(magrittr)

# Create temp file path
tmp <- file.path(tempdir(), "mtcars.txt")

dat <- data.frame(name = rownames(mtcars[1:10, ]), mtcars[1:10, 1:5], 
                  stringsAsFactors = FALSE)

# Create the report object
rpt <- create_report(tmp, orientation = "portrait") %>% 
  page_header("Client: Motor Trend", "Study: Cars") %>% 
  titles("MTCARS Sample Report") %>% 
  add_content(create_table(dat)) %>% 
  page_footer(Sys.time(), right = "Page [pg] of [tpg]")

# Write the report to the file system
write_report(rpt)

# Write report to console
writeLines(readLines(tmp, encoding = "UTF-8"))

# Client: Motor Trend                                                Study: Cars
#                              MTCARS Sample Report
# 
#                name                 mpg cyl   disp   hp  drat
#                ----------------------------------------------
#                Mazda RX4             21   6    160  110   3.9
#                Mazda RX4 Wag         21   6    160  110   3.9
#                Datsun 710          22.8   4    108   93  3.85
#                Hornet 4 Drive      21.4   6    258  110  3.08
#                Hornet Sportabout   18.7   8    360  175  3.15
#                Valiant             18.1   6    225  105  2.76
#                Duster 360          14.3   8    360  245  3.21
#                Merc 240D           24.4   4  146.7   62  3.69
#                Merc 230            22.8   4  140.8   95  3.92
#                Merc 280            19.2   6  167.6  123  3.92
# 
# ...
# 
# 2020-10-17 11:53:51                                                Page 1 of 1