Perl Brasil

Pesquisar

Documentação

Planeta

Eventos

Comunidade

r1 - 23 May 2007 - JoenioCosta

Como criar arquivos PDF utilizando Template-Toolkit

Problema

Voce precisa gerar arquivos PDF através do sistema de templates Template Toolkit.

Solução

Utilize o plugin Template::Plugin::Latex.

Discussão

Esta pode não ser a forma mais fácil e rápida de criar PDFs utilizando Perl, mas com certeza é uma grande vantagem para quem já conhece a linguagem de marcação do Latex e tem costume de trabalhar com Template Toolkit.

Primeiro instale os módulos abaixo via cpan ou através do seu sistema de gerenciamento de pacotes preferido:

Então crie o template grupos.tmpl contendo a marcação Latex:

   [% USE Latex %]
   [% FILTER latex ("grupos.pdf") -%]
   \documentclass[10pt,a4paper]{article}
   \usepackage[latin1]{inputenc}
   \usepackage{color}
   \title{Grupos de usuarios Perl Brasileiros}
   \author{Joenio Marques da Costa}
   \begin{document}
   
   \maketitle
   [% FOREACH grupo = grupos %]
      \section{[% grupo.nome %]}
      \begin{itemize}
      \item \textbf{lider:} [% grupo.lider %]
      \item \textbf{link:} \textcolor{blue}{http://[% grupo.link %]}
      \end{itemize}
   [% END %]

   \end{document}
   [% END -%]

O script grupos.pl abaixo irá transformar o template acima em um arquivo chamado grupos.pdf

   #!/usr/bin/perl
   use strict;
   use warnings;
   use Template;
   
   my @grupos = (
      { nome => 'Salvador Perl Mongers',  lider => 'Joenio Costa', link => 'salvador.pm.org' },
      { nome => 'Fortaleza Perl Mongers', lider => 'Daniel Ruoso', link => 'fortaleza.pm.org' },
      { nome => 'Brasil Perl Mongers',    lider => 'Flavio Glock', link => 'brasil.pm.org' },
   );
   
   my $tmpl = Template->new({
      INCLUDE_PATH => $ENV{PWD},
      OUTPUT_PATH => $ENV{PWD},
   });
   
   $tmpl->process('grupos.tmpl', {grupos => \@grupos}) or die $tmpl->error();

Arquivos

Comentários