% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/kable_as_image.R
\name{kable_as_image}
\alias{kable_as_image}
\title{Deprecated}
\usage{
kable_as_image(kable_input, filename = NULL, file_format = "png",
  latex_header_includes = NULL, keep_pdf = FALSE, density = 300,
  keep_tex = FALSE)
}
\arguments{
\item{kable_input}{Raw LaTeX code to generate a table. It doesn't have to
came from \code{kable} or \code{kableExtra}.}

\item{filename}{Character String. If specified, the image will be saved under
the specified (path &) name. You don't need to put file format like ".png"
here.}

\item{file_format}{Character String to specify image format, such as \code{png},
\code{jpeg}, \code{gif}, \code{tiff}, etc. Default is \code{png}.}

\item{latex_header_includes}{A character vector of extra LaTeX header stuff.
Each element is a row. You can have things like
\code{c("\\\\usepackage{threeparttable}", "\\\\usepackage{icons}")}  You could
probably add your language package here if you use non-English text in your
table, such as \code{\\\\usepackage[magyar]{babel}}.}

\item{keep_pdf}{A T/F option to control if the mid-way standalone pdf should
be kept. Default is \code{FALSE}.}

\item{density}{Resolution to read the PDF file. Default value is 300, which
should be sufficient in most cases.}

\item{keep_tex}{A T/F option to control if the latex file that is initially created
should be kept. Default is \code{FALSE}.}
}
\description{
deprecated
}
\examples{
\dontrun{
library(kableExtra)

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

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