我有为游戏创建几张简单卡片的代码:
\documentclass[10pt]{article}
\usepackage[many]{tcolorbox}
\newcommand{\policy}[2]{ \vspace{1mm}
\tcboxfit[width=2.25in,height=2.8in,title={ {\Large #1 }\vspace{1mm} \\ \large Card Subtype }, colback=white,colframe= black,nobeforeafter]{ { \raggedright \normalsize #2 } }}
\begin{document}
\policy{Name of Card}{Text on the card}
\policy{Name of another Card}{Text on the second card}
\policy{Name of a third Card}{Text on the third card}
\end{document}
现在我想将每张卡片单独输出为 png 或其他图像文件。有什么办法吗?
答案1
以下代码将生成一个每页有一张卡片的 pdf 文件,并自动将每页转换为一个 .png 独立文件。
我没有使用 article,而是使用了带选项standalone
的 class multi
。此选项 ( multi=<environment-name>
) 允许裁剪特定环境周围的每个页面。由于tcboxfit
是命令而不是环境,我定义了一个空环境foo
并插入policy
定义。这样,每个foo
环境都会显示在 pdf 结果中的独立页面中。
由于standalone
允许对 pdf 结果应用自动转换,我曾经Image Magick
将 pdf 转换为 png。生成的图像基于 .tex 名称。如果我们使用cards.tex
结果将是,cards.pdf
但也是cards-0.png
,,cards-1.png
...
%cards.tex
\documentclass[10pt, multi=foo, border=1mm,
convert={convertexe=convert, density=300, outext=.png}]{standalone}
\usepackage[many]{tcolorbox}
\newenvironment{foo}{}{}
\newcommand{\policy}[2]{\begin{foo}%
\tcboxfit[width=2.25in,height=2.8in,title={ {\Large #1 }\vspace{1mm} \\ \large Card Subtype }, colback=white,colframe= black,nobeforeafter]{ { \raggedright \normalsize #2 } }\end{foo}}
\begin{document}
\policy{Name of Card}{Text on the card}
\policy{Name of another Card}{Text on the second card}
\policy{Name of a third Card}{Text on the third card}
\end{document}
PDF 文件将如下所示
cards-0、cards-1 和 cards-2.png 分别是: