OVH Cloud OVH Cloud

librairie pdf GRATUITE

6 réponses
Avatar
bruno
Bonjours, apres une lecture des post precedents, j'ai DL FPDF comme
outil de dreation de PDF, n'y conniassant rin, je vous demande si c'est
un bon choix, je precise que mes besoins sont tres limités :

données dans un tableau, multipaging... et c'est tout...
donc, pour moi, l'API la plus sympa serait la plus mieux mieux...
ma methode d'ecriture (on sent le newbee) serait lineaire : chaque
cellule de guache a droite, de haut en bas.
le plus serait de pouvoir basculer sur une autre page et d'y copier une
partie des données...
voila :)

6 réponses

Avatar
Sylvain
Bonjours, apres une lecture des post precedents, j'ai DL FPDF comme
outil de dreation de PDF, n'y conniassant rin, je vous demande si c'est
un bon choix, je precise que mes besoins sont tres limités :

données dans un tableau, multipaging... et c'est tout...
donc, pour moi, l'API la plus sympa serait la plus mieux mieux...
ma methode d'ecriture (on sent le newbee) serait lineaire : chaque
cellule de guache a droite, de haut en bas.
le plus serait de pouvoir basculer sur une autre page et d'y copier une
partie des données...
voila :)



Tu as fait un bon choix.
J'utilise FPDF pour la création dynamique de doc PDF en relation avec
une base de données.

Tu déclare tes fonctions d'entête, de pied de page... tu peux compter le
nb de page de ton doc et afficher ta page courante/pages totales, tu
peux faire des tableaux, des titres avec choix de police, caractères...

j'envoi cette doc par la suite par email.

Lis les tutoriaux sur le site, ils sont assez explicites.

Je te donne un bout de code, cela pourra peut être t'aider :


// FPDF
$pdf_path = "C:wampwwwbnbatch";
define('FPDF_FONTPATH',$root_path.'batch/fpdf/font/');
require($root_path.'batch/fpdf/fpdf.php');

class PDF extends FPDF
{
function Header()
{
$this->SetAuthor("TITRE");
$this->SetSubject("FAQ");
$this->SetTitle("FAQ : les questions les plus fréquemment posées");

$this->Image('header3.jpg',10,10,210);
$this->SetFont('Helvetica','B',15);
$this->Cell(20);
$this->Cell(0,15,'FAQ : les questions les plus fréquemment
posées',0,0,'C');
$this->SetFont('Helvetica','U',9);
$this->SetTextColor(0,0,255);
$this->Write(12, 'http://www.limtree.com',
'http://www.limtree.com');
$this->Ln(12);
}

function Footer()
{
$this->SetY(-15);
$this->SetFont('Helvetica','I',8);
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}

function TitreChapitre($num,$lib)
{
$this->SetFont('Helvetica','U',12);
$this->MultiCell(0,6,"$num. $lib",0,1,'L',1);
$this->Ln(3);
}

function Partie($lib)
{
$this->Ln(4);
$this->SetFont('Helvetica','B',14);
$this->MultiCell(0,6,"$lib",0,1,'L',1);
$this->Ln(2);
}
}

//penser à rajouter dans la requette if isnot null ...
$info_faq_logÛQueryAll("SELECT question, byorder,
answer1 AS rep1, IFNULL(answer2,NULL) AS rep2,
IFNULL(answer3,NULL) AS rep3, IFNULL(answer4,NULL) AS rep4
FROM faq
WHERE faq_lng_id=(select lng_id from language where name='".$lang."')
AND connect='0'
ORDER BY byorder");

$info_faq_unlogÛQueryAll("SELECT question, byorder,
answer1 AS rep1, IFNULL(answer2,NULL) AS rep2,
IFNULL(answer3,NULL) AS rep3, IFNULL(answer4,NULL) AS rep4
FROM faq
WHERE faq_lng_id=(select lng_id from language where name='".$lang."')
AND connect='1'
ORDER BY byorder");

//mail pdf
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();


$pdf->Partie("Utilisateur non connecté");
for ($u=0; $u<count($info_faq_log); $u++)
{
$pdf->Ln(5);
$pdf->TitreChapitre($info_faq_log[$u]["byorder"],stripslashes($info_faq_log[$u]["question"]));
$pdf->SetFont('Helvetica','',8);
$pdf->MultiCell(0,4,stripslashes($info_faq_log[$u]["rep1"]),0,1,'L');
if ($info_faq_log[$u]["rep2"]!="") {
$pdf->MultiCell(0,4,stripslashes($info_faq_log[$u]["rep2"]),0,1,'L');
}
if ($info_faq_log[$u]["rep3"]!="") {
$pdf->MultiCell(0,4,stripslashes($info_faq_log[$u]["rep3"]),0,1,'L');
}
if ($info_faq_log[$u]["rep4"]!="") {
$pdf->MultiCell(0,4,stripslashes($info_faq_log[$u]["rep4"]),0,1,'L');
}
$pdf->Ln(2);
}

$pdf->Partie("Utilisateur connecté");
for ($i=0; $i<count($info_faq_unlog); $i++)
{
$pdf->Ln(5);
$pdf->TitreChapitre($info_faq_unlog[$i]["byorder"],stripslashes($info_faq_unlog[$i]["question"]));
$pdf->SetFont('Helvetica','',8);
$pdf->MultiCell(0,4,stripslashes($info_faq_unlog[$i]["rep1"]),0,1,'L');
if ($info_faq_unlog[$i]["rep2"]!="") {
$pdf->MultiCell(0,4,stripslashes($info_faq_unlog[$i]["rep2"]),0,1,'L');
}
if ($info_faq_unlog[$i]["rep3"]!="") {
$pdf->MultiCell(0,4,stripslashes($info_faq_unlog[$i]["rep3"]),0,1,'L');
}
if ($info_faq_unlog[$i]["rep4"]!="") {
$pdf->MultiCell(0,4,stripslashes($info_faq_unlog[$i]["rep4"]),0,1,'L');
}
$pdf->Ln(2);
}

//GENERE LE FICHIER PDF
$faq_file = $pdf_path.'LIMTREE_FAQ.pdf';
$pdf->Output($faq_file, 'F');


-----------------------

J'espère que cela a pu t'aider.

Avatar
Etienne SOBOLE
Bonjours, apres une lecture des post precedents, j'ai DL FPDF comme
outil de dreation de PDF, n'y conniassant rin, je vous demande si c'est
un bon choix, je precise que mes besoins sont tres limités :


en ce qui concerne les api gratuite, ce doit etre a peu pret la seule.
et surtout, elle fait des truc que pdflib (qui est payante) ne fait pas.

c'est donc un excellent choix.
Etienne

Avatar
ftc
Bonjours, apres une lecture des post precedents, j'ai DL FPDF comme
outil de dreation de PDF, n'y conniassant rin, je vous demande si c'est
un bon choix, je precise que mes besoins sont tres limités :

données dans un tableau, multipaging... et c'est tout...
donc, pour moi, l'API la plus sympa serait la plus mieux mieux...
ma methode d'ecriture (on sent le newbee) serait lineaire : chaque
cellule de guache a droite, de haut en bas.
le plus serait de pouvoir basculer sur une autre page et d'y copier une
partie des données...
voila :)


Si la taille du document à générer n'est pas trop importante, FPDF est
un bon choix, la bibliothèque est simple d'utilisation, il y a même des
extensions qui permettent de gérer facilement les tableaux.

Avatar
Nicklas
Le Fri, 26 Aug 2005 16:53:09 +0000, Etienne SOBOLE a écrit :

Bonjours, apres une lecture des post precedents, j'ai DL FPDF comme
outil de dreation de PDF, n'y conniassant rin, je vous demande si c'est
un bon choix, je precise que mes besoins sont tres limités :


en ce qui concerne les api gratuite, ce doit etre a peu pret la seule.
et surtout, elle fait des truc que pdflib (qui est payante) ne fait pas.

c'est donc un excellent choix.
Etienne


Peux-tu détailler ce que fait fPDF et pas PDFlib ?

J'étudierai ainsi la question. Car je suis en train de faire un module en
C, comme PDFlib, mais qui sera libre. Je reprends pour le moment le
fonctionnement de fPDF.

J'ai déjà bien avancé. Mais il reste encore beaucoup de boulot, si je
veux concurencer PDFlib, et même fPDF.

Nicklas
http://www.progweb.com


Avatar
Etienne SOBOLE
Peux-tu détailler ce que fait fPDF et pas PDFlib ?


je ne connais pas les dernières versions,
mais des trucs assez simple que l'on peut faire avec FPDF

- générer des formulaires
- utiliser un pdf cour travailler dessus (existe aussi dans pdflib avec un
option supplémentaire)
- utilisation des balise HTML pour formatter le text pdf. (la c'est plus des
contributions d'utilisateur de FPDF que de FPDF lui meme) main n'empeche
qu'avec pdflib je ne pense pas que tu puisses le faire.

voila. des exemples...
bon ca fait aussi des trucs en moins, mais bon (compression, ...)

Etienne

Avatar
John GALLET
Peux-tu détailler ce que fait fPDF et pas PDFlib ?


La FAQ les enfants, la FAQ... http://faqfclphp.free.fr/#14