save a flextable as a png, pdf or jpeg image.

Image generated with package 'webshot' or package 'webshot2'. Package 'webshot2' should be prefered as 'webshot' can have issues with some properties (i.e. bold are not rendered for some users).

The image is coming from a screenshot of the 'HTML' output. save_as_image() is a tool to make life easier for users. Nevertheless, the features have some limitations that can't be solved with flextable because they are not related to flextable:

  • png does support transparency,

  • jpeg does not support transparency,

  • webshot2 does not allow transparent background,

  • webshot does allow transparent background.

save_as_image(x, path, zoom = 3, expand = 10, webshot = "webshot")



a flextable object


image file to be created. It should end with .png, .pdf, or .jpeg.

zoom, expand

parameters used by webshot function.


webshot package as a scalar character, one of "webshot" or "webshot2".


This function requires package webshot or webshot2. The screenshot process is rather slow because it is managed by an external program (see webshot or webshot2 documentation).


ft <- flextable(head(mtcars))
ft <- autofit(ft)
tf <- tempfile(fileext = ".png")
if (FALSE) {
if (require("webshot")) {
  save_as_image(x = ft, path = "myimage.png")