par
salva57 » 18 août 2010, 18:18
Bonjour,
J'essaye de mettre en oeuvre sur mon site FPDF.
Sa marche avec le Tutu 1 très simple qui affiche dans un document PDF le texte que l'on met directement (en dur) dans le code de la page.
<?php
require('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World !');
$pdf->Output();
?>
Mais lorsque je veux faire cela avec un fichier txt externe comme le tuto 3 sa ne fonctionne pas.
<?php
require('fpdf.php');
class PDF extends FPDF
{
function Header()
{
global $titre;
//Arial gras 15
$this->SetFont('Arial','B',15);
//Calcul de la largeur du titre et positionnement
$w=$this->GetStringWidth($titre)+6;
$this->SetX((210-$w)/2);
//Couleurs du cadre, du fond et du texte
$this->SetDrawColor(0,80,180);
$this->SetFillColor(230,230,0);
$this->SetTextColor(220,50,50);
//Epaisseur du cadre (1 mm)
$this->SetLineWidth(1);
//Titre centré
$this->Cell($w,9,$titre,1,1,'C',true);
//Saut de ligne
$this->Ln(10);
}
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Arial italique 8
$this->SetFont('Arial','I',8);
//Couleur du texte en gris
$this->SetTextColor(128);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
}
function TitreChapitre($num,$lib)
{
//Arial 12
$this->SetFont('Arial','',12);
//Couleur de fond
$this->SetFillColor(200,220,255);
//Titre
$this->Cell(0,6,"Chapitre $num : $lib",0,1,'L',true);
//Saut de ligne
$this->Ln(4);
}
function CorpsChapitre($fichier)
{
//Lecture du fichier texte
$f=fopen($fichier,'r');
$txt=fread($f,filesize($fichier));
fclose($f);
//Times 12
$this->SetFont('Times','',12);
//Sortie du texte justifié
$this->MultiCell(0,5,$txt);
//Saut de ligne
$this->Ln();
//Mention en italique
$this->SetFont('','I');
$this->Cell(0,5,'(fin de l\'extrait)');
}
function AjouterChapitre($num,$titre,$fichier)
{
$this->AddPage();
$this->TitreChapitre($num,$titre);
$this->CorpsChapitre($fichier);
}
}
$pdf=new PDF();
$titre='Vingt mille lieues sous les mers';
$pdf->SetTitle($titre);
$pdf->SetAuthor('Jules Verne');
$pdf->AjouterChapitre(1,'UN ÉCUEIL FUYANT','20k_c1.txt');
$pdf->AjouterChapitre(2,'LE POUR ET LE CONTRE','20k_c2.txt');
$pdf->Output();
?>
Il me semble que la partie qui appel le fichier txt c'est celle là :
function CorpsChapitre($fichier)
{
//Lecture du fichier texte
$f=fopen($fichier,'r');
$txt=fread($f,filesize($fichier));
fclose($f);
//Times 12
$this->SetFont('Times','',12);
//Sortie du texte justifié
$this->MultiCell(0,5,$txt);
//Saut de ligne
$this->Ln();
//Mention en italique
$this->SetFont('','I');
$this->Cell(0,5,'(fin de l\'extrait)');
}
Mais ou est le nom du fichier dans ce code
Il y a je pense un truc que je n'ai pas compris.
Merci de votre aide.
@+
Bonjour,
J'essaye de mettre en oeuvre sur mon site FPDF.
Sa marche avec le Tutu 1 très simple qui affiche dans un document PDF le texte que l'on met directement (en dur) dans le code de la page.
[php]
<?php
require('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World !');
$pdf->Output();
?>
[/php]
Mais lorsque je veux faire cela avec un fichier txt externe comme le tuto 3 sa ne fonctionne pas.
[php]
<?php
require('fpdf.php');
class PDF extends FPDF
{
function Header()
{
global $titre;
//Arial gras 15
$this->SetFont('Arial','B',15);
//Calcul de la largeur du titre et positionnement
$w=$this->GetStringWidth($titre)+6;
$this->SetX((210-$w)/2);
//Couleurs du cadre, du fond et du texte
$this->SetDrawColor(0,80,180);
$this->SetFillColor(230,230,0);
$this->SetTextColor(220,50,50);
//Epaisseur du cadre (1 mm)
$this->SetLineWidth(1);
//Titre centré
$this->Cell($w,9,$titre,1,1,'C',true);
//Saut de ligne
$this->Ln(10);
}
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Arial italique 8
$this->SetFont('Arial','I',8);
//Couleur du texte en gris
$this->SetTextColor(128);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
}
function TitreChapitre($num,$lib)
{
//Arial 12
$this->SetFont('Arial','',12);
//Couleur de fond
$this->SetFillColor(200,220,255);
//Titre
$this->Cell(0,6,"Chapitre $num : $lib",0,1,'L',true);
//Saut de ligne
$this->Ln(4);
}
function CorpsChapitre($fichier)
{
//Lecture du fichier texte
$f=fopen($fichier,'r');
$txt=fread($f,filesize($fichier));
fclose($f);
//Times 12
$this->SetFont('Times','',12);
//Sortie du texte justifié
$this->MultiCell(0,5,$txt);
//Saut de ligne
$this->Ln();
//Mention en italique
$this->SetFont('','I');
$this->Cell(0,5,'(fin de l\'extrait)');
}
function AjouterChapitre($num,$titre,$fichier)
{
$this->AddPage();
$this->TitreChapitre($num,$titre);
$this->CorpsChapitre($fichier);
}
}
$pdf=new PDF();
$titre='Vingt mille lieues sous les mers';
$pdf->SetTitle($titre);
$pdf->SetAuthor('Jules Verne');
$pdf->AjouterChapitre(1,'UN ÉCUEIL FUYANT','20k_c1.txt');
$pdf->AjouterChapitre(2,'LE POUR ET LE CONTRE','20k_c2.txt');
$pdf->Output();
?>
[/php]
Il me semble que la partie qui appel le fichier txt c'est celle là :
[php]
function CorpsChapitre($fichier)
{
//Lecture du fichier texte
$f=fopen($fichier,'r');
$txt=fread($f,filesize($fichier));
fclose($f);
//Times 12
$this->SetFont('Times','',12);
//Sortie du texte justifié
$this->MultiCell(0,5,$txt);
//Saut de ligne
$this->Ln();
//Mention en italique
$this->SetFont('','I');
$this->Cell(0,5,'(fin de l\'extrait)');
}
[/php]
Mais ou est le nom du fichier dans ce code :oops:
Il y a je pense un truc que je n'ai pas compris.
Merci de votre aide.
@+