FPDF

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : FPDF

par looping » 23 mai 2006, 14:41

Merci tout de meme.

c'est plus facile a expliquer avec un petit dessin. ;-)

par Maitrepylos » 23 mai 2006, 14:40

ben là c'est hors de mes compétences.

Attend le passage d'un modo :cry:

par looping » 23 mai 2006, 14:36

Je n'arrive pas a insérer sous le champ Année un champ de saisie sans etiquette.

J'aimerai avoir un tableau de cette forme:

Année | Classe | Etablissement
------------------------------------------------------
2003- 2004 | Terminal S | Lycée FECH
2002- 2003 | Terminal ES | Lycée FECH


Les champ en gras sont des champ de saisie


C'est pas facile a expliquer.

par Maitrepylos » 23 mai 2006, 11:56

Je ne comprend pas ton erreur puisque chez moi le pdf se génère bien?

par looping » 23 mai 2006, 11:13

Les balise php .
je ne connait pas le PHP.

Sinon pour les librairies js_form.php
je l'ai est récupérer http://www.fpdf.org/fr/script/dl.php?id=40&f=zip

J'ai essayé de modifier le script de Denis Van Nuffelen pour l'adapter a mes besoins.

Alphapdf.php

Code : Tout sélectionner

<?php require('fpdf.php'); class AlphaPDF extends FPDF { var $extgstates; function AlphaPDF($orientation='P',$unit='mm',$format='A4') { parent::FPDF($orientation, $unit, $format); $this->extgstates = array(); } // alpha: real value from 0 (transparent) to 1 (opaque) // bm: blend mode, one of the following: // Normal, Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, // HardLight, SoftLight, Difference, Exclusion, Hue, Saturation, Color, Luminosity function SetAlpha($alpha, $bm='Normal') { // set alpha for stroking (CA) and non-stroking (ca) operations $gs = $this->AddExtGState(array('ca'=>$alpha, 'CA'=>$alpha, 'BM'=>'/'.$bm)); $this->SetExtGState($gs); } function AddExtGState($parms) { $n = count($this->extgstates)+1; $this->extgstates[$n]['parms'] = $parms; return $n; } function SetExtGState($gs) { $this->_out(sprintf('/GS%d gs', $gs)); } function _enddoc() { if(!empty($this->extgstates) && $this->PDFVersion<'1.4') $this->PDFVersion='1.4'; parent::_enddoc(); } function _putextgstates() { for ($i = 1; $i <= count($this->extgstates); $i++) { $this->_newobj(); $this->extgstates[$i]['n'] = $this->n; $this->_out('<</Type /ExtGState'); foreach ($this->extgstates[$i]['parms'] as $k=>$v) $this->_out('/'.$k.' '.$v); $this->_out('>>'); $this->_out('endobj'); } } function _putresourcedict() { parent::_putresourcedict(); $this->_out('/ExtGState <<'); foreach($this->extgstates as $k=>$extgstate) $this->_out('/GS'.$k.' '.$extgstate['n'].' 0 R'); $this->_out('>>'); } function _putresources() { $this->_putextgstates(); parent::_putresources(); } } ?>

par Maitrepylos » 23 mai 2006, 11:06

Bonjour, utilise plutôt la balise php pour ton code c'est plus lisible

pare contre je ne connais pas les librairies suivantes
require('js_form.php');
require('alphapdf.php');
elle servent à quoi?

comment les obtenirs pour essayer?

A la ligne 70 je ne vosi rien de particulier et puis surtout ce qui me dérange c'est que tu fais des vérifications dans ton pdf, tu devrais les faires dans ton fotmulaires non?

par looping » 23 mai 2006, 10:14

Bonjour a tous.
j'essai de réaliser une formulaire avec des tableaus que le visiteurs doit remplir.

Je ne voie pas comment faire techniquement pour avoir le champ a remplir et l'etiquette de ce champ.

j'ai essayer avec les post sur le forum de réaliser une page, mais je bloque a la ligne 70

je me permetde placer mon code, pour avoir vos conseilles, et si vous avez une solution cela serai top.

Code : Tout sélectionner

<?php define('FPDF_FONTPATH','font/'); require('js_form.php'); require('alphapdf.php'); $pdf = new AlphaPDF(); $pdf=new JS_Form(); $pdf->Open(); $pdf->AddPage(); $pdf->SetLineWidth(0.1); // affiche une image $pdf->Image('logo.jpg',10,3,40); $pdf->SetFont('Arial','B',14);// défint l'écriture pour tous ce qui suit $pdf->SetXY(70,20);//on place le pointeur $pdf->Cell(100,18,'FICHE DE PREINSCRIPTION',1,0,'C'); //Département $pdf->SetXY(010,50); $pdf->Cell(45,5,'Département :'); $pdf->ComboBox('gender',55,5,array('','GB','GC'),array('BorderColor'=>'ltGray')); $pdf->Ln(6); //Photos d'identité $pdf->SetFont('Arial','B',6); $pdf->SetXY(150,45); $pdf->SetFillColor(204,255,51);//initialise la couleur de fond de remplissage $pdf->Rect(150,45,20,20,'F');//dessine le rectangle et met le fond et les bord en couleurs $pdf->Cell(20,20,'Photo d identité : ',0,0,'C'); $pdf->SetFont('Arial','B',12);// définit l'écriture pour tous ce qui suit $pdf->SetXY(10,20);//on place le pointeur //1er tableau $pdf->SetFillColor(255,255,255);//initialise la couleur de fond de remplissage $pdf->Rect(10,70,180,60,'FD');//dessine le rectangle et met le fond et les bord en couleurs $pdf->SetFont('Arial','B',20); $pdf->SetXY(10,70); $pdf->Cell(180,10,'Etat Civil',0,1,'C'); //Nom $pdf->Cell(35,5,'Nom :'); $pdf->TextField('lastname',50,5,array('BorderColor'=>'ltGray')); $pdf->Ln(6); //Prénom $pdf->Cell(35,5,'Prénom :'); $pdf->TextField('firstname',50,5,array('BorderColor'=>'ltGray')); $pdf->Ln(6); // Deucième tableau $pdf->Rect(10,140,180,100,'FD');//dessine le rectangle et met le fond et les bord en couleurs $pdf->SetFont('Arial','B',20); $pdf->SetXY(10,140); $pdf->Cell(180,10,'Etudes éffectuées',0,1,'C'); $pdf->SetFont('Arial','B',10); $pdf->SetXY(10,150); $pdf->Cell(50,10,'Année :',1,1,'L');//Année titre $pdf->SetFont('Arial','B',10); $pdf->SetXY(60,150); $pdf->Cell(50,10,'Classe :',1,1,'L');//Classe titre $pdf->SetFont('Arial','B',10); $pdf->SetXY(110,150); $pdf->Cell(80,10,'Etablissement :',1,1,'L');//Etablissement titre //Prénom $pdf->Cell(1,5,'Année 1 :'); $pdf->TextField('firstname',50,5,array('BorderColor'=>'ltGray')); $pdf->Ln(6); //$pdf->AddPage(); saut de page //Bouton de validation et d'impression $pdf->SetX(90); $pdf->Button('print',24,8,'Imprimer','Print()',array('TextColor'=>'yellow','FillColor'=>'#FF5050')); //Fonctions de validation du formulaire $pdf->script.=" function CheckField(name,message) { f=getField(name); if(f.value=='') { app.alert(message); f.setFocus(); return false; } return true; } function Print() { //Validation if(!CheckField('lastname','Le nom doit être renseigné')) return; if(!CheckField('firstname','Le prénom doit être renseigné')) return; if(!CheckField('gender','Le sexe doit être renseigné')) return; if(!CheckField('address','L\\'adresse doit être renseignée')) return; //Impression print(); } "; //On inclut tout le JavaScript généré dans le PDF $pdf->IncludeJS($pdf->script); $pdf->Output(); ?>

par jpaul » 23 mai 2006, 09:08

SetLineWidth(float width)
$pdf->SetLineWidth(0,2)
0,2 n'est pas un float, essaye :
0.2
$pdf->SetLineWidth(0.2) 

par looping » 23 mai 2006, 08:49

j'ai essayé cette commande:

//Titre
$pdf->SetFont('Arial','U',16);
$pdf->Cell(0,5,"Formulaire d'inscription",0,1,'C');
$pdf->Ln(10);
$pdf->SetFont('','',12);
$pdf->Line(5,20,80,20)
$pdf->SetLineWidth(0,2)

j'ai comme message d'erreur:
Parse error: parse error in c:\program files\easyphp1-8\www\html\html\formulaire\ex.php on line 16

par Maitrepylos » 22 mai 2006, 16:33

Va voir du coté de SetLineWidth(float width)

par looping » 22 mai 2006, 15:59

Bonjour .
j'ai essayé de réaliser un formulaire avec un tableau, ca marche tres bien, mais je n'arrive pas a avoir un traie de contour plus petit.

pouvez vous m'aider?

//1er tableau
$pdf->SetFillColor(197,148,125);//initialise la couleur de fond de remplissage
$pdf->Rect(10,70,180,60,'FD');//dessine le rectangle et met le fond et les bord en couleurs
$pdf->SetFont('Times','B',20);
$pdf->SetXY(10,70);
$pdf->Cell(180,10,'L\'entreprise',0,1,'C');

merci

par Maitrepylos » 15 mai 2006, 14:41

et comme ça
output('nomfichier.pdf','D');

par coxine » 15 mai 2006, 14:28

Pour coxine : Ton pdf n'est pas du html, mais bien du php, le plus simple pour sauegarder ton fichier en format pdf, c'est de le signaler dans le output.
output('nomfichier.pdf','F');
Merci !!
Mais je crois que je n'ai pas le droit :(
Regarde ce message d'erreur !

Code : Tout sélectionner

Warning: fopen(cadeau.pdf): failed to open stream: Permission denied in /home/sites/xxxx/web/xxx/pdf/fpdf.php on line 1046 FPDF error: Unable to create output file: cadeau.pdf

par ludger » 15 mai 2006, 13:37

Oki, je n'avais pas compris cela! Désolé...

par Maitrepylos » 15 mai 2006, 11:59

Eh ho arrête là, je donnais un exemple avec mailettacment, d'ailleurs ce n'est même pas une variable.

Ton code te permettant d'envoyer des mails, doit prendre en charge les fichiers joint(Goolgle est ton ami).

et c'est à cette fonction que tu dois sortir le fichier, pas à l'exemple que j'ai donné.