Before kableExtra 1.0, we have a function called kable_as_image, which can transform a LaTeX tables to an image and include it in an rmarkdown document. Starting from kableExtra 1.0, we will split this function into two pieces: save_kable and as_image. save_kable will save any LaTeX and HTML tables to any format (html, png, jpg, pdf etc.). The output format will be defined by the file extension of the output file name. Here are a few examples.

# not evaluating
library(kableExtra)

kable(mtcars[1:5, ], "html") %>%
  kable_styling("striped") %>%
  row_spec(1, color = "red") %>%
  save_kable("inst/test.pdf")

kable(mtcars, "latex") %>%
  kable_styling(latex_options = "striped") %>%
  save_kable("inst/test.png")

Turn your tables into images for cross-formating support

kableExtra only supports HTML and LaTeX. One way to get it work with Word is to render the table as_image. This example below shows you how to render a LaTeX table in HTML document. Same rules applies when you use them in rmarkdown::word_document.

library(kableExtra)

kable(mtcars, "latex", booktabs = T) %>%
  kable_styling(latex_options = c("striped", "scale_down")) %>%
  row_spec(1, color = "red") %>%
  as_image()

You can also specify either width or height of the image. The image will be scaled properly.

kable(mtcars, "latex", booktabs = T) %>%
  kable_styling(latex_options = c("striped", "scale_down")) %>%
  row_spec(1, color = "red") %>%
  as_image(width = 8)

as_image also works for HTML tables. Of course, it is only meaning to do so if you want a HTML bootstrap style table in PDF/Word.

kable(mtcars, "html") %>%
  kable_styling("striped") %>%
  row_spec(1, color = "red") %>%
  as_image(width = 2)

One problem with this method, especially if you are using it in Word, is that to the end, the product you made is a picture. Please make sure your reader be aware that they cannot select/edit the table.