Since LaTeX can produce outstanding typesetting results and excellent graphics design, I began to wonder if it can recreate certificates. With so many packages and styles out there does anyone know if there is one to create certificate templates like the following example.
I suppose that the borders would be the limiting factor like those shown here [1].
I had to prepare certificates for a workshop recently and this is how I did it.
First, I prepared a border using
smartdraw
[1] and called it border-2.jpg
.
Since certificates are given to many, I used datatool
package. I used the particulars of participants in a .csv
file namelist-1.csv
like this:
degree,Name,Dgn,subject,inst,place
Dr,Abdul Ali,Assistant Professor, E \& I,Pondicherry Engineering College, Pondicherry - 605 014
Mrs,Francesca Joestar,Assistant Professor, ECE,Pondicherry Engineering College, Pondicherry - 605 014
Mr,Chan Ker Mei,Assistant Professor, CSE,Pondicherry Engineering College, Pondicherry - 605 014
Dr,Hikaru Yagami,Assistant Professor, Mechanical Engg.,Pondicherry Engineering College, Pondicherry - 605 014
Dr,Harish Kumar,Professor,Physics,Pondicherry Engineering College, Pondicherry - 605 014
Dr,R. Rajathy,Assistant Professor, EEE,Pondicherry Engineering College, Pondicherry - 605 014
and finally the latex code to generate the certificates is:
\documentclass[16pt]{scrartcl}
\usepackage[a4paper,left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage{pdflscape,setspace,amsmath,amssymb}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{calligra}
\usepackage{tgschola}
\usepackage{fourier-orns}
\usepackage{graphicx}
\usepackage{wallpaper}
\usepackage[normalem]{ulem}
\usepackage{charter}
\usepackage{microtype}
\hyphenpenalty 100000
%=============================
\input Zallman.fd
\newcommand*\initfamily{\usefont{U}{Zallman}{xl}{n}}
%=============================
\usepackage{datatool}
\DTLloaddb{names}{namelist-1.csv}
%=============================
\def\signature#1#2{\parbox[b]{1in}{\smash{#1}\vskip12pt}
\hfill \parbox[t]{2.8in}{\shortstack{\vrule width 2.8in height 0.4pt\\\small#2}}}
\def\sigskip{\vskip0.4in plus 0.1in}
\def\beginskip{\vskip0.5875in plus 0.1in}
%=============================
\definecolor{title}{RGB}{180,0,0}
\definecolor{other}{RGB}{171,0,255}
\definecolor{name}{RGB}{255,0,0}
\definecolor{phd}{RGB}{0,0,240}
%=============================
\begin{document}
\begin{landscape}
\linespread{2}\selectfont
\pagestyle{empty}
\TileWallPaper{1\paperwidth}{1\paperheight}{border-2.jpg}
%=============================
\DTLforeach{names}{
\dg=degree, \name=Name, \dgn=Dgn, \sub=subject, \inst=inst, \place=place}{
%=============================
\noindent
\begin{minipage}[l]{1.5in}
\includegraphics[width=.72\linewidth]{pec_emblem}
\end{minipage}
\hfill
%=============================
\begin{minipage}[c]{6.5in}
{\centering
{\onehalfspacing
{\LARGE\bfseries {\color{other}{{ Pondicherry Engineering College}}}}\\%\initfamily
{\calligra Puducherry} -- {\calligra 605 014\\}
\vskip0.4em
{\large ISTE Short Term Training Program on\\}
{\Large\bfseries\color{phd}{NANO ENGINEERING MATERIALS}}}\\
\par}
\end{minipage}
\hfill
%=============================
\begin{minipage}[r]{1.5in}
\includegraphics[width=.92\linewidth]{istelogo/istelogo-1}
\end{minipage}
\vskip1em
%=============================
\begin{minipage}[l]{1.5in}
\end{minipage}
\hfill
\begin{minipage}[c]{6.5in}
{\centering
{\onehalfspacing
{\Large\bfseries \color{title}{Certificate of Participation}}\par
\vskip0.5em
{\color{pink}\Large\decofourleft\quad{\color{blue}\decoone}\quad\decofourright}
\par}}
\end{minipage}
\hfill
\begin{minipage}[r]{1.5in}
\end{minipage}
\vskip1.8em
{\doublespacing
This is to certify that \uuline{{\large\sffamily\bfseries\color{name}{\dg. \MakeUppercase{\name}}}}, { \dgn}
of {\sub}, {\inst}, {\place},
has successfully participated in the two week Short Term Training Program
on ``\emph{\color{phd}{Nano Engineering Materials}}'' sponsored by ISTE and organized by Department of Physics, Pondicherry Engineering College, Puducherry, from
13$^{\text{th}}$ December to 23$^{\text{rd}}$ December 2010.}
\noindent
%\beginskip
{\singlespacing
\vfil
\begin{minipage}[l]{2.8in}
\sigskip \signature{}{Dr. Harish Kumar \\ Co-ordinator }
\end{minipage}
\hfill
\begin{minipage}[c]{2.8in}
\sigskip \signature{}{Dr. Harish Kumar \\ Co-ordinator }
\end{minipage}
\hfill
\begin{minipage}[r]{2.8in}
\sigskip \signature{}{Dr. Harish Kumar \\ Principal }
\end{minipage}}
%=============================
\pagebreak
}
\end{landscape}
\end{document}
pec_emblem
and istelogo-1
are the logos:
And finally the certificate is here:
This is just for fun and dedicated to Paulo :)
[1] http://www.smartdraw.com/specials/smartdraw.asp?id=104640&gclid=CKLVnYfmxq4CFYV66wodkQTH-wMi little contribution with niceframe
and wallpaper
packages:
\documentclass[landscape]{article}
\usepackage{wallpaper}
\usepackage{niceframe}
\usepackage{xcolor}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{geometry}
\geometry{tmargin=.5cm,bmargin=.5cm,
lmargin=.5cm,rmargin=.5cm}
\usepackage{multicol}
\setlength{\columnseprule}{0.4pt}
\columnwidth=0.3\textwidth
\begin{document}
\TileWallPaper{4cm}{2cm}{tiling.png}
\centering
\scalebox{3}{\color{green!30!black!60}
\begin{minipage}{.33\textwidth}
\font\border=umrandb
\generalframe
{\border \char113} % up left
{\border \char109} % up
{\border \char112} % up right
{\border \char108} % left
{\border \char110} % right
{\border \char114} % lower left
{\border \char111} % bottom
{\border \char115} % lower right
{\centering
\begin{minipage}{.9\textwidth}
\centering
\includegraphics[height=1.1cm]{escudozz.pdf}
\end{minipage}
\vspace{-8mm}
\curlyframe[.9\columnwidth]{
\textcolor{red!10!black!90}
{\small University of Nobodyknows}\\
\textcolor{green!10!black!90}{
\tiny In honour of out standing performance and dedication to waste time in class we hereby award the}
\smallskip
\textcolor{red!30!black!90}
{\textit{Certificate of}}
\textcolor{black}{\large \textsc{Biggest Sleeper Class}}
\vspace{2mm}
\tiny
to: \uline{\textcolor{black}
{Mr. Dormouse Overwintering Marmot}}
(Master degree)
\vspace{4mm}
{\color{blue!40!black}
\scalebox{.7}{
\begin{tabular}{ccccc}
\cline{1-1}
\cline{3-3}
\cline{5-5}
\\
Dr. DavidRestless & & Dr. Peter Awakened & & Dr. John Workerhard \\
Head of Department & & Examinor & & Academic Advisor \\
\end{tabular}
}}}}
\end{minipage}
}
\end{document}
The images used in this certificate are:
The tile (really a IM FELL FLOWERS 1 font converted to image):
The University Coat of Arms (self-made pdf with Inkscape using open svg clip-arts). Note that the MWE use the pdf version (change the extension if you wan to compile with this png).
\char115
).? - user11232
umrandb
characters of niceframe
package as explained in this forgotten answer. - Fran
There are two approaches you can use. One is to import a picture and accurately place the text over it using the overpic package (see https://tex.stackexchange.com/a/45023/963 for some macros and a key value approach to assist in placing the text). The second is to build the certificate from scratch. If you want a fancy and modern border use the braids [1] package or you can do one with TikZ (note the modern trend is not to use a fancy border).
\documentclass[a4page]{article}
\usepackage[left=2cm,right=1cm,bottom=1cm,top=1cm]{geometry}
\usepackage{lscape}
\usepackage{graphicx}
\usepackage{times}
\usepackage{overpic}
\begin{document}
\begin{center}
\begin{landscape}
\fbox{\begin{minipage}{1.1\textwidth}
\centering
\vspace{1cm}
\centerline{\includegraphics[scale=1.0]{tex}}\par
\vspace{1.3cm}
{\LARGE\itshape This is to certify the Yiannis Lazarides has been\\
a member of this site for two years and has answered 500 questions.\par}
\vspace{3cm}
\hbox to 0.9\textwidth{\hfill\Large The Chief Member}
\hbox to 0.9\textwidth{\hfill\Large\bfseries egreg}
\end{minipage}}
\end{landscape}
\end{center}
\end{document}
[1] http://tex.blogoverflow.com/2011/09/the-braids-package/I have not built entirely the certificates but it's easy to complete the frame.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{concrete}
\PassOptionsToPackage{dvipsnames,svgnames}{xcolor}
\usepackage[object=vectorian]{pgfornament}
\begin{document}
\begin{center}
\begin{tikzpicture}[color=MidnightBlue,transform shape,scale=1.5,
every node/.style={inner sep=0pt}]
\node[minimum width=10cm,minimum height=8cm,fill=gray!70!blue!15,inner sep=0pt](vecbox){};
\node[anchor=north west] at (vecbox.north west)%
{\pgfornament[color=MidnightBlue,width=1cm]{39}};
\node[anchor=north east] at (vecbox.north east)%
{\pgfornament[color=MidnightBlue,width=1cm,symmetry=v]{39}};
\node[anchor=south west] at (vecbox.south west)%
{\pgfornament[color=MidnightBlue,width=1cm,symmetry=h]{39}};
\node[anchor=south east] at (vecbox.south east)%
{\pgfornament[color=MidnightBlue,width=1cm,symmetry=c]{39}};
\node[anchor=north,yshift=2pt] at (vecbox.north){\pgfornament[width=8 cm,symmetry=h]{88}};
\node[anchor=south,yshift=-2pt] at (vecbox.south){\pgfornament[width=8 cm]{88}};
\node[anchor=north,rotate=90,yshift=2pt] at (vecbox.west){\pgfornament[width=6 cm,symmetry=h]{88}};
\node[anchor=north,rotate=-90,yshift=2pt] at (vecbox.east){\pgfornament[width=6 cm,symmetry=h]{88}};
\node[yshift=2cm] (text) at (vecbox.center){\huge Free Diploma College};
\end{tikzpicture}
\end{center}
\tikzset{pgfornamentstyle/.style={draw = Periwinkle,
fill = purple}}
\begin{tikzpicture}[color=MidnightBlue,transform shape,scale=1.5,
every node/.style={inner sep=0pt}]
\draw[fill=gray!70!blue!15](-1.1,0) rectangle coordinate (text) (9.1,8) ;
\foreach \i in {0,2,4,6,8}
{ \node[anchor=south] at (\i,7.32){\pgfornament[width=2 cm]{70}};
\node[anchor=south] at (\i,0){\pgfornament[width=2 cm]{70}};}
\foreach \i in {2,4,6,8}
{ \node[anchor=south,rotate=90] at (-.4cm,\i*0.8){\pgfornament[width=2 cm]{70}};
\node[anchor=north,rotate=90] at (8.4cm,\i*0.8){\pgfornament[width=2 cm]{70}};}
\node[yshift=2cm] at (text){\huge Free Diploma College};
\end{tikzpicture}
\end{document}
pgornament
. Have you seen my post on guilloche? - azetina
Just for fun with PSTricks. The package psvectorian
is not included in TeXLive so you need to download it from http://melusine.eu.org/syracuse/pstricks/vectorian/ and install it. Unfortunately, the manual in English is not available.
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{psvectorian}
%\renewcommand*{\psvectorianDefaultColor}{black}%
\begin{document}
\begin{pspicture}(-5,-5)(5,5)
\psframe(-5,-5)(5,5)
%haut+bas
\rput[tl](-3,5){\psvectorian[width=6cm]{71}}
\rput[bl](-3,-5){\psvectorian[width=6cm,flip]{71}}
%coins
\rput[tl](-5,5){\psvectorian[width=2cm]{63}}
\rput[tr](5,5){\psvectorian[width=2cm,mirror]{63}}
\rput[bl](-5,-5){\psvectorian[width=2cm,flip]{63}}
\rput[br](5,-5){\psvectorian[width=2cm,flip,mirror]{63}}
% cotes
\rput[bl]{-90}(-5,3){\psvectorian[width=6cm]{46}}
\rput[bl]{90}(5,-3){\psvectorian[width=6cm]{46}}
%texte+soulignement+chapeau
\rput(0,0){\Huge Garbage Collector}
\rput[t](0,-0.5){\psvectorian[width=5cm]{75}}
\rput[b](0,0.5){\psvectorian[width=5cm]{69}}
%oiseaux
\rput[tr]{-30}(-1,2.5){\psvectorian[width=2cm]{57}}
\rput[tl]{30}(1,2.5){\psvectorian[width=2cm,mirror]{57}}
\end{pspicture}
\end{document}
pgfornament
which is currently in beta. - percusse
The article
Mail merge batch generating documents
[1] at Malaysian LaTeX User Group blog explains how to produce certificates with
datatool
[2] package. They show two results one with a background figure (like Harish Kumar's example) but another with
webomints
[3] package.
I have created a document class for this purpose, but it is way far to be useful. Contribute if you are interested.
Github: Parsa2820/certificate [1]
Sample of a certificate:
\documentclass{../../certificate/certificate}
\begin{document}
\companylogo{./shariflogo.png}
\styletile{./tile.png}
\bulkcertify{{John Doe, Jane Doe, Foo Bar}}
\end{document}
.cls
file:
%%%%%%%%%%%%%%%%%%%%
%% Identification %%
%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{certificate}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Preliminary declarations %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\LoadClass[landscape]{article}
\pagenumbering{gobble}
\setlength{\parindent}{0pt}
\RequirePackage{geometry}
\geometry{tmargin=.5cm, bmargin=.5cm, lmargin=.5cm, rmargin=.5cm}
\RequirePackage{wallpaper}
\RequirePackage{pgffor}
\RequirePackage{graphicx}
%%%%%%%%%%%%%
%% Options %%
%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
%% More declarations %%
%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\@companylogo}{Company Logo}
\newcommand{\@companyname}{Company Name}
\newcommand{\@companytagline}{Company Tagline}
\newcommand{\@certtitle}{Certificate Title}
\newcommand{\@certdate}{1970-01-01}
\newcommand{\@beforename}{Mr. or Ms. }
\newcommand{\@aftername}{ is now cerified.}
\newcommand{\@certdirector}{Certificate Director}
\newcommand{\@certchairman}{Certificate Chairman}
\newcommand{\companylogo}[1]{\renewcommand{\@companylogo}{#1}}
\newcommand{\companyname}[1]{\renewcommand{\@companyname}{#1}}
\newcommand{\companytagline}[1]{\renewcommand{\@companytagline}{#1}}
\newcommand{\certtitle}[1]{\renewcommand{\@certtitle}{#1}}
\newcommand{\certdate}[1]{\renewcommand{\@certdate}{#1}}
\newcommand{\beforename}[1]{\renewcommand{\@beforename}{#1}}
\newcommand{\aftername}[1]{\renewcommand{\@aftername}{#1}}
\newcommand{\certdirector}[1]{\renewcommand{\@certdirector}{#1}}
\newcommand{\certchairman}[1]{\renewcommand{\@certchairman}{#1}}
\newcommand{\@styletile}{Style Tile}
\newcommand{\styletile}[1]{\renewcommand{\@styletile}{#1}}
\newcommand{\certify}[1]{
\newpage
\TileSquareWallPaper{5}{\@styletile}
\centering
\begin{minipage}{0.7\textwidth}
\begin{center}
\includegraphics[height=2.1cm]{\@companylogo} \\
\textbf{\@companyname} \\
{\tiny \@companytagline}
\vspace*{2cm} \\
{\huge \textbf{\@certtitle}}
\vspace*{0.5cm} \\
{\Large \@certdate}
\vspace*{2cm} \\
{\Large \@beforename \textbf{#1} \@aftername}
\vspace*{\fill} \\
{\normalsize \@certdirector \hspace*{\fill} \@certchairman}
\end{center}
\end{minipage}
}
\newcommand{\bulkcertify}[1]{\foreach \x in #1 {\certify{\x} \par}}
[1] https://github.com/Parsa2820/certificateA simple template based on ideas borrowed from this post and from other resources on the Internet. Multiple copies of certificate can be generated using dataloader package,you just need to include the list of participants as a csv file as described in this link. % Reference : https://www.dickimawbooks.com/latex/admin/html/loadcsv.shtml [1]
% ***********certificate.tex*****************
\documentclass[12pt,a4paper,landscape]{article}
\input{certificate.sty}
\begin{document}
\gdef \signh {Professor JIM} %Name of the person signing cerificate
\gdef \signhdg {Head of Department} %Designation of the person signing cerificate
\gdef \signco {Joaquim Ignatious Monteiro}
\gdef \signcodg {Assistant Professor}
\DTLforeach{names}{\name=Name}{
\newpage
\thispagestyle{empty}
\printlogoheader
\vspace*{5mm}
\printtitle
\vspace*{5mm}
\printbodytext
\vspace*{20mm}
\printdate
\printsignature
}
\end{document}
% ***********certificate.tex ends*****************
% ===========certificate.sty begins================
\usepackage[utf8]{inputenc} % Utf8 encoding
\usepackage{graphicx}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{txfonts}
\newcommand{\Usefont}[1]{\fontfamily{#1}\selectfont}
\usepackage[none]{hyphenat} % Do not hyphenate:
\usepackage{scalefnt}
\usepackage[listings,skins,breakable]{tcolorbox}
\usepackage{xparse}
\usepackage{pgf}
\usepackage{pgfpages}
%\usepackage[pages=some]{background}
%\usepackage{graphicx,epstopdf} % Required to include eps images
%\usepackage{background}
\usepackage[top=1.5cm,bottom=1cm,left=1cm,right=1cm]{geometry} % Page margins
\definecolor{certificate_blue}{RGB}{54,131,179} %border colour
%=============================
\usepackage{datatool}
\DTLloaddb{names}{name_list.csv} %include the list of participants as a csv file
% Reference : https://www.dickimaw-books.com/latex/admin/html/loadcsv.shtml
\graphicspath{figure/}
% ****** Border config *******
\pgfpagesdeclarelayout{boxed}
{
\edef\pgfpageoptionborder{0pt}
}
{
\pgfpagesphysicalpageoptions
{%
logical pages=1,%
}
\pgfpageslogicalpageoptions{1}
{
border code=\pgfsetlinewidth{5pt}\pgfsetstrokecolor{certificate_blue}\pgfstroke,%
border shrink=\pgfpageoptionborder,%
resized width=.95\pgfphysicalwidth,%
resized height=.95\pgfphysicalheight,%
center=\pgfpoint{.5\pgfphysicalwidth}{.5\pgfphysicalheight}%
}%
}
\pgfpagesuselayout{boxed}
% ****** End of border config *******
% print certificate title
\newcommand{\printtitle}{
\begin{center}\resizebox{!}{10mm}
{\sc \MakeUppercase Certificate}\\
{\sc {\Large of Appreciation}}
\end{center}
}
% print institute logo header
\newcommand{\printlogoheader}{
\begin{minipage}[l]{0.175\textwidth}
\begin{center}
%\hspace*{5mm}
\includegraphics[scale=0.09]{figure/cet_logo}
%\centering{\sc \large \textbf{College of Engineering Trivandrum}}
\end{center}
\end{minipage}%
\begin{minipage}[c]{0.6\textwidth}
\begin{center}
{\Huge \sc \bfseries{College of Engineering Trivandrum}}\\
\vskip0.4em
{\Large \sc {Department of Electronics \& Communication Engineering}}
\end{center}
\end{minipage}%
\begin{minipage}[r]{0.2\textwidth}
\hspace{10mm}
\includegraphics[scale=0.08]{figure/cetecgo_g}
\end{minipage}
}
% print body text
\newcommand{\printbodytext}{
\begin{minipage}{\textwidth}
\begin{center}
\Usefont{ppl} {\sc {\Large This certificate is proudly presented to}}\\
\vspace*{4mm}
\Usefont{pzc} {\bfseries \Huge{\name}}\\
\end{center}
\end{minipage}
\hspace{50mm}
\begin{minipage}[c]{0.6\textwidth}
\begin{center}
\vspace{5mm}
\linespread{1.5}
\Usefont{ppl} { {\large In recognition of outstanding service as a student volunteer for \\ \textit{CetEcGo} - science outreach programme of the \\ Department of Electronics \& Communication Engineering \\ during October - November 2023}}
\end{center}
\end{minipage}%
}
\newcommand{\printdate}{
\begin{minipage}[l]{0.2\textwidth}
\begin{center}
\large{\today}
\end{center}
\end{minipage}
}
% ****** signature field
\def\signature#1#2{\parbox[b]{1in}{\smash{#1}\vskip12pt}
\hfill \parbox[t]{2.8in}{\shortstack{\vrule width 2.8in height 0.4pt\\\small#2}}}
\def\sigskip{\vskip0.4in plus 0.1in}
\def\beginskip{\vskip0.5875in plus 0.1in}
\newcommand{\printsignature}{
\hfill
% \begin{minipage}[l]{2.8in}
% \sigskip \signature{}{\large{\signco} \\ \signcodg}
% \end{minipage}%
% \hspace{5mm}
% \begin{minipage}[c]{2.8in}
% \sigskip \signature{}{\large{\signco} \\ \signcodg}
% \end{minipage}%
% \hspace{5mm}
\begin{minipage}[r]{2.8in}%
\sigskip \signature{}{\large{\signh} \\ \signhdg}
\end{minipage}
}
% ******** end of signature field
%===========certificate.sty ends ======================
[1] https://%25include%20the%20list%20of%20participants%20as%20a%20csv%20file%20%25%20Reference%20:%20https://www.dickimaw-books.com/latex/admin/html/loadcsv.shtml