share
TeX - LaTeXPackage for certificates
[+92] [8] azetina
[2012-03-01 19:31:08]
[ packages decorations ]
[ https://tex.stackexchange.com/questions/46406/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 the following example.

Free diploma certificate

I suppose that the borders would be the limiting factor like those shown here [1].

(2) Regarding the borders, maybe you should have a look at this question, and especially at Altermundus' answer. - ienissei
@ienissei I just read that post a few minutes ago and that is why I began to wonder about certificates. - azetina
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
[+66] [2012-03-01 23:21:23] user11232

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. enter image description here

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:

enter image description here enter image description here

And finally the certificate is here: enter image description here

This is just for fun and dedicated to Paulo :)

enter image description here

[1] http://www.smartdraw.com/specials/smartdraw.asp?id=104640&gclid=CKLVnYfmxq4CFYV66wodkQTH-w

(10) +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
(1) @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. - user11232
(1) @Dr.HarishKumar Nice output. - azetina
(1) Nicely done borders! - imnothere
(1) Oh my .... Does Paulo know this? :D :D - user31729
(1) I tried to run this. But I get only one page (one certificate) as output. I mean there should be a certificate for each entry in the csv file, right ? Please tell me how to get all the certificates in one run. - Debashish
Hi, I am trying to run this file but I am getting some problems: The first certificate is rendered correctly but the second page contains only the heading and the headings and names are all jumbled up for the subsequent entries in the CSV file. Any idea how to sort this out? - noir1993
If anybody is facing the same problem as I am, removing the last \pagebreak at the very end fixed the issue. - noir1993
1
[+65] [2012-09-22 21:13:40] Fran

Mi little contribution with niceframe and wallpaper packages: enter image description here

\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):

Wallpaper tiling

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

University Coat of Arms


(1) This is incredible, can you provide the png files you used? - azetina
(2) @azetina, of course, I've uploaded the two images. - Fran
(1) Nice output. where do we get information on characters (\char115).? - user11232
(2) @HarishKumar, I handle the umrandb characters of niceframe package as explained in this forgotten answer. - Fran
(1) Can you consider releasing your code in this answer under creativecommons.org/publicdomain/zero/1.0 ? Or add attribution required by the current licence (cc by-sa 3.0 with attribution required)? - reducing activity
(1) @MateuszKonieczny I would like some credit (a comment line with the link to this answer is enough) if used as a template, since it was a original idea, and a comment in the code never hurt, but I will not prosecute to anyone for use a few third party packages under a LaTeX Project Public Li­cense, even if the result is oddly similar. - Fran
(1) "a comment line with the link to this answer is enough" this is obviously added. I wonder whatever stack site license (at least in theory) forces to add attributions also on text/images generated by LaTeX code. - reducing activity
2
[+27] [2012-03-02 03:20:58] yannisl

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

enter image description here

\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/

3
[+27] [2012-03-02 15:56:08] Alain Matthes

I have not built entirely the certificates but it's easy to complete the frame.

enter image description here

enter image description here

\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}

(1) Nice output with your pgornament. Have you seen my post on guilloche? - azetina
(1) 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
(1) I figured that one. I remember when my professor asked me to come up with a function that draws a heart... - azetina
(1) This is just beautiful! - percusse
(1) 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. - user11232
4
[+18] [2012-09-22 16:55:55] kiss my armpit

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.

enter image description here

\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}

(1) Just a reminder: One of our senior TikZers Alain Matthes is working on the PGF/TikZ counterpart pgfornament which is currently in beta. - percusse
(1) @percusse: I submitted this answer to show there is a PSTricks counterpart for pgfornament used by Alain Matthes. :-) - kiss my armpit
(2) I'll leave my comment here for a proof of my stupidity :) I need a Scroll Lock key. - percusse
(1) Can you consider releasing your code in this answer under creativecommons.org/publicdomain/zero/1.0 ? Or add attribution required by the current licence (cc by-sa 3.0 with attribution required)? - reducing activity
5
[+9] [2012-03-07 08:34:12] Ignasi

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.

[1] http://latex-my.blogspot.com/2012/01/mail-merge-batch-generating-documents.html
[2] http://ctan.org/pkg/datatool
[3] http://ctan.org/pkg/webomints

6
[+2] [2021-11-14 05:10:56] parsa2820

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}

enter image description here

.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/certificate

(2) Instead of just posting a link it would be nice if you could share some code with an image of the corresponding output (like at all the other answers). That makes it much easier for others to judge if it's worth having a look at your package in more detail. - Stefan Pinnow
(2) @StefanPinnow Finished. - FriendlyFire
7
[0] [2023-10-11 16:07:56] Joaquim

A 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]

enter image description here

% ***********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

(1) Is a link missing? Otherwise I don't quite see how does this should answer the question. - campa
8