- ^ Fondamentaux
- ^ Les réponses: générer du contenu
- Générer une page HTML
- Générer du texte brut
- Générer du XML quelconque
- Générer un flux de syndication RSS
- Générer un flux de syndication Atom
- Générer un PDF à partir d'un contenu LaTeX
- Générer un PDF avec TCPDF
- Renvoyer un fichier binaire
- Générer un fichier zip
- Générer une interface utilisateur en XUL
- Générer du RDF
Section: Générer un PDF à partir d'un contenu LaTeX
« Générer un flux de syndication Atom | ^ Les réponses: générer du contenu | Générer un PDF avec TCPDF » |
Jelix propose un objet jResponseLatexToPdf qui permet de générer un document PDF à partir d'un document écrit en LaTeX. Son alias est "ltx2pdf".
$rep = $this->getResponse("ltx2pdf");
- *Note : L'utilisation de jResponseLatexToPdf nécessite la présence du programme pdflatex sur le serveur !**
Si ce programme n'est pas situé dans les chemins reconnus par le système (définis par la variable d'environnement PATH sous Linux par exemple), il faut indiquer son chemin complet dans la propriété $pdflatexPath. Exemple:
$rep->pdflatexPath = '/usr/bin/pdflatex';
jResponseLatexToPdf s'occupe de générer un en-tête LaTeX comprenant le titre du document et les auteurs, le reste est à définir (en LaTeX) dans un template que vous indiquerez dans la propriété $bodyTpl. Et vous accédez au moteur de template via la propriété $body.
Il y a aussi la méthode addCommand qui permet d'ajouter des commandes LaTeX au début du document.
Exemple :
$rep = $this->getResponse("ltx2pdf");
$rep->title = 'titre du document';
$rep->authors[] = 'Michel Dupont';
$rep->bodyTpl = 'monModule~doclatex';
$rep->addCommand('documentclass', 'article', array('a4', '14pt'));
$this->addCommand('geometry', 'hmargin=1cm, vmargin=2cm');
$rep->body->assign('texte', $unTexte);
return $rep;