pagedown: Creating beautiful PDFs with R Markdown and CSS

The traditional way to beautiful PDFs is often through LaTeX or Word, but have you ever thought of printing a web page to PDF? Web technologies (HTML/CSS/JavaScript) are becoming more and more...

pagedown: Creating beautiful PDFs with R Markdown and CSS

January 25, 2019

The traditional way to beautiful PDFs is often through LaTeX or Word, but have you ever thought of printing a web page to PDF? Web technologies (HTML/CSS/JavaScript) are becoming more and more amazing. It is entirely possible to create high-quality PDFs through Google Chrome or Chromium now. Web pages are usually single-page documents, but they can be paginated thanks to the JavaScript library Paged.js, so that you can have elements like headers, footers, and page margins for the printing purpose. In this talk, we introduce a new R package, pagedown (https://github.com/rstudio/pagedown), to create PDF documents based on R Markdown and Paged.js. Applications of pagedown includes, but not limited to, books, articles, posters, resumes, letters, and business cards. With the power of CSS and JavaScript, you can typeset your documents with amazing elegance (e.g., a single line of CSS, "tr:nth-child(even) { background: #eee; }", will give you a striped table, and "border-radius: 50%;" gives you a circular element) and power (e.g., HTML Widgets).

View Materials

About the speaker

Yihui Xie

Yihui Xie is a software engineer at RStudio. He earned his PhD from the Department of Statistics, Iowa State University. He is interested in interactive statistical graphics and statistical computing. As an active R user, he has authored several R packages, such as knitr, bookdown, blogdown, xaringan, tinytex, rolldown, animation, DT, tufte, formatR, fun, xfun, mime, highr, servr, and Rd2roxygen. He also co-authored a few other R packages, including shiny, rmarkdown, rticles, and leaflet. He has authored two books, "Dynamic Documents with knitr" (Xie 2015), and "bookdown: Authoring Books and Technical Documents with R Markdown" (Xie 2016), and co-authored two books, "blogdown: Creating Websites with R Markdown" (Xie, Hill, and Thomas 2017), and "R Markdown: The Definitive Guide" (Xie, Allaire, and Grolemund 2018).