# Package for certificates

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 in the link here. I suppose that the borders would be the limiting factors like those shown here.

-
Regarding the borders, maybe you should have a look at this question, and especially at Altermundus' answer. –  ienissei Mar 1 '12 at 19:44
@ienissei I just read that post a few minutes ago and that is why I began to wonder about certificates. –  azetina Mar 1 '12 at 19:49
This would make a good candidate for a beamer package using Tikz/pgf to create the borders. I would envision a set of certificate themes and alternatives for the contents. –  R. Schumacher Mar 1 '12 at 21:49

I had to prepare certificates for a workshop recently and this is how I did it.

First, I prepared a border using smartdraw 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}
%=============================
\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}
\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
\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 Very nice result. --- I'm disappointed: you're the co-ordinator, co-ordinator, and principal, it'd be neat if you were also the assistant professor too ;-). –  Bruno Le Floch Mar 2 '12 at 8:17
@BrunoLeFloch, Ooops and sorry, that is a dummy text put for illustration only. I just wanted to illustrate that we can put multiple signatures at the bottom with their role. –  Harish Kumar Mar 2 '12 at 9:23
@Dr.HarishKumar Nice output. –  azetina Mar 2 '12 at 16:24
Nicely done borders! –  LianTze Lim Mar 7 '12 at 11:59

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 http://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 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}

-

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}

-
Nice output with your pgornament. Have you seen my post on guilloche? –  azetina Mar 2 '12 at 16:23
yes and I gave a first answer but I need to find another curve. The problem is completely different. I know that it's about pattern but you need function to draw guilloche. –  Alain Matthes Mar 2 '12 at 16:45
I figured that one. I remember when my professor asked me to come up with a function that draws a heart... –  azetina Mar 2 '12 at 16:50
This is just beautiful! –  percusse Mar 2 '12 at 18:12
I wanted to use LaTeX entirely for the certificate but for borders Hmmmmm... But now Altermundus has a way. My next certificate will be entirely using LaTeX (including borders... Courtesy pgfornaments and Altermundus.). Thanks @Altermundus. Great work. –  Harish Kumar Mar 3 '12 at 0:35

Mi 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 \\
\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).

-
This is incredible, can you provide the png files you used? –  azetina Sep 23 '12 at 3:32
@azetina, of course, I've uploaded the two images. –  Fran Sep 23 '12 at 5:42
Nice output. where do we get information on characters (\char115).? –  Harish Kumar Sep 23 '12 at 6:49
@HarishKumar, I handle the umrandb characters of niceframe package as explained in this forgotten answer. –  Fran Sep 23 '12 at 7:00

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}

-
Just a reminder: One of our senior TikZers Alain Matthes is working on the PGF/TikZ counterpart pgfornament which is currently in beta. –  percusse Sep 22 '12 at 18:19
@percusse: I submitted this answer to show there is a PSTricks counterpart for pgfornament used by Alain Matthes. :-) –  Donut E. Knot Sep 22 '12 at 18:41
I'll leave my comment here for a proof of my stupidity :) I need a Scroll Lock key. –  percusse Sep 22 '12 at 18:43
The article Mail merge batch generating documents at Malaysian LaTeX User Group blog explains how to produce certificates with datatool package. They show two results one with a background figure (like Harish Kumar's example) but another with webomints package.