Créer des documents autres que HTML

Transcription

Créer des documents autres que HTML
Créer des documents autres
que HTML

En php, il est possible de créer autre
chose que des pages web dynamiques:
Des pages en HTML bien sur
Des pages WAP
Des pdf (à la volée)
Des images (png, gif, jpg à la volée)
Des fichier swf (à la volée)
...
Créer des documents autres
que HTML

En php, il est possible de créer autre
chose que des pages web dynamiques:
Des pages en HTML bien sur
Des pages WAP
Des pdf (à la volée)
Des images (png, gif, jpg à la volée)
Des fichier swf (à la volée)
...
Créer des documents autres
que HTML

Création de fichier pdf à la volée:
Exemple du catalogue dutaf!
Création du catalogue en version pdf (évidement à la
volée en fonction du contenu de la base de données)
Outils disponibles


Il existe des classes php permettant de générer des
documents pdf:







PdfLib (payant, et librairie serveur)
Fpdf (gratuit et librairie d'inclusion)
ClibPDF (librairie serveur, payant si utilisation com)
Pdf4php ...
Ezpdf (gratuit et librairie d'inclusion)
Html2pdf
...
Créer des documents autres
que HTML

Exemple avec fpdf:
http://www.fpdf.org
Pdf à la volé avec fpdf

Fichier pdfcatalogue.php:
<?php
include('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'CATALOGUE Saint Pavut !');
$pdf->Output();
?>
Pdf à la volé avec fpdf

Fonctions utiles pour le catalogue Saint
Pavut:

SetXY()

GetX()

GetY()

Image()

Write()

Ln()

SetFillColor()

MultiCell()

Cell()
Pdf à la volé avec fpdf
<?php
include('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'CATALOGUE Saint Pavut !');
for($i=1;$i<10;$i++)
{
$pdf->Cell(40,10,$i);
$y=$pdf->GetY();
$pdf->Image(« photos/img ».$i. « .jpg »,150,$y,20,20);
}
$pdf->Output();
?>
Complément sur fpdf

Utilisation de GetY() et de SetXY()
(ex: espacer les différentes manifestations)
<?php
include('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'CATALOGUE Saint Pavut !');
for($i=1;$i<10;$i++)
{
$pdf->Cell(40,10,$i);
$y=$pdf->GetY();
$pdf->Image(« photos/img ».$i. « .jpg »,150,$y,20,20);
}
$pdf->Output();
?>
Complément sur fpdf

Utilisation de GetY() et de SetXY()
(ex: espacer les différentes manifestations)
<?php
include('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'CATALOGUE Saint Pavut !');
for($i=1;$i<10;$i++)
{
$pdf->Cell(40,10,$i);
$y=$pdf->GetY();
$pdf->Image(« photos/img ».$i. « .jpg »,150,$y,20,20);
}
$pdf->Output();
?>
Fpdf et Modx

Intégration de fpdf dans modx
Copier les fichiers de la librairie fpdf sous la
racine du site modx.
Créer un type de contenu pdf
Réaliser la ressource document



Basé sur aucun modele
Faisant appel au snippet « s_cataloguepdf »
Ayant un comme type de contenu « pdf »
(précédement créé)
Créer le snippet « s_cataloguepdf » en faisant
appel à la librairie fpdf