begin process at 2012 05 31 18:57:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Utilisation fpdf et php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utilisation fpdf et php

lundi 20 février 2006 à 08:40:49 | Utilisation fpdf et php

flopad

Bonjour, désolé d'insister et de revenir à la charge mais j'ai un gros soucis avec mon code que je n'arrive pas à résoudre et dont j'ai vraiment besoin.

Alors, j'ai donc ma base de données access, je veux la récupérer dans un fichier pdf.
Pour cela, l'utilisateur a le choix de récupérer les informations qu'il souhaite, sauf le nom que je ne mets pas dans le formulaire car il faut qu'il apparraisse systématiquement.
Mon code tel qu'il est ci-dessous fonctionne parfaitement, le seul problème est que je ne sais pas comment faire pour donner une largeur prédéfinie à chaque colonne; par exemple dire que la colonne 'Nom - prénom' doit faire 5cm, etc...


<?php

if (isset ($_POST['submit']) && $_POST['submit'] === 'Valider') {

 Connexion à la bdd 
$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";

 //connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;
 
 //PDF

define('FPDF_FONTPATH','font/');
require('fpdf/fpdf.php');
Infos concernant le doc pdf qui va être crée

$pdf=new FPDF('L','cm','A4');
 
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->SetFillColor(220,130,130);
$pdf->SetTextColor(255,255,255);
 
//Titres des colonnes
Création des entêtes des colonnes du doc pdf

$header = array();
$header[] = 'Nom - Prénom';
for ($m=0;$m<count($_POST['choix']);$m++){
    switch($_POST['choix'][$m]){
        case 'Societe':     $header[] = 'Site';
                    break;
        case 'Fixe':         $header[] = 'N° Téléphone fixe';
                    break;
        case 'Fax':         $header[] = 'N° fax';
                    break;
        case 'Portable':     $header[] = 'N° Portable';
                    break;
        case 'Mail':         $header[] = 'Adresse e-mail';
                    break;
        default:        break;
    }
}
L'entête 'Nom - Prénom' apparait systématiquement puisque l'utilisateur n'a pas la possibilité de l'enlever

$pdf->cell(4.7,1,$header[0],1,0,'C',1);// Le nom dans tous les cas
Selon les cases cochées par l'utilisateur, on fait apparaitre ou non la colonne

for($i=0;$i<count($_POST['choix']);$i++)
{
if(isset($_POST['choix'][$i]))
$pdf->cell(4.7,1,$header[$i+1],1,0,'C',1);// les autres postes si cases cochées

Selon les cases cochées par l'utilisateur, j'adapte la requete qui va etre faite dans ma bdd grace à l'implode

if (isset($_POST['choix'])){
    $addInQuery = implode(',', $_POST['choix']);
    $addInQuery = ','.$addInQuery;
}
else $addInQuery = '';
 
$resultat = odbc_exec( $cnx, 'SELECT Nom'.$addInQuery.' FROM Annuaire ORDER BY Nom');

$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY()+1);
$fond=0;
  while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
  {
    $pdf->cell(4.7,0.7,$row['Nom'],1,0,'C',$fond);
for ($m=0;$m<count($_POST['choix']);$m++){
    if(isset($_POST['choix'][$m]))
         $pdf->cell(4.7,0.7,$row[$_POST['choix'][$m]],1,0,'C',$fond);
 }

   $pdf->SetXY(1,$pdf->GetY()+0.7);
   $fond=!$fond;
  }
$pdf->output();
 
}

?>
<html>
<head>
</head>
<body>

<form action="a.php" method="POST">

Ici donc mon "formulaire" qui permet à l'utilisateur de sélectionner les informations qu'il va récupérer sur le doc pdf.Par défaut, je coche toutes les cases.

<input type = "checkbox" name = "choix[]" value = "Societe" checked = "checked" /> Site
<br>
<input type = "checkbox" name = "choix[]" value = "Fixe" checked = "checked" /> N° téléphone fixe
<br>
<input type = "checkbox" name = "choix[]" value = "Fax" checked = "checked" /> N° fax
<br>
<input type = "checkbox" name = "choix[]" value = "Portable" checked = "checked" /> N° portable
<br>
<input type = "checkbox" name = "choix[]" value = "Mail" checked = "checked" /> Adresse e-mail
<br>
<br>
<br>
<input type="submit" value="Valider" name="submit"/>

</form>
</body>
</html>

dimanche 26 février 2006 à 13:50:42 | Re : Utilisation fpdf et php

cedriclomb

Réponse acceptée !
Bonjour,

J'ai trouvé ca dans l'aide de fpdf :


Cell

Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, int fill [, mixed link]]]]]]])

Version

1.0

Description

Imprime une cellule (zone rectangulaire) avec éventuellement des bords, un fond et une chaîne de caractères. Le coin supérieur gauche de la cellule correspond à la position courante. Le texte peut être aligné ou centré. Après l'appel, la position courante se déplace à droite ou un retour à la ligne est effectué. Il est possible de mettre un lien sur le texte.
Si le saut de page automatique est activé et que la cellule dépasse le seuil de déclenchement, un saut de page est effectué avant de l'imprimer.

Paramètres

w
Largeur de la cellule. Si elle vaut 0, la cellule s'étend jusqu'à la marge droite de la page.
h
Hauteur de la cellule. Valeur par défaut : 0.
txt
Chaîne à imprimer. Valeur par défaut : chaîne vide.
border
Indique si des bords doivent être tracés autour de la cellule. La valeur peut être soit un nombre :
  • 0 : aucun bord
  • 1 : cadre
soit une chaîne contenant certains ou tous les caractères suivants (dans un ordre quelconque) :
  • L : gauche
  • T : haut
  • R : droit
  • B : bas
La valeur par défaut est 0.
ln
Indique où se déplace la position courante après l'appel à la méthode. Les valeurs possibles sont :
  • 0 : à droite
  • 1 : au début de la ligne suivante
  • 2 : en dessous
Mettre 1 est équivalent à mettre 0 et appeler la méthode Ln() juste après. La valeur par défaut est 0.
align
Permet de centrer ou d'aligner le texte. Les valeurs possibles sont :
  • L ou chaîne vide : alignement à gauche (valeur par défaut)
  • C : centrage
  • R : alignement à droite
fill
Indique si le fond de la cellule doit être coloré (1) ou transparent (0). Valeur par défaut : 0.
link
URL ou identifiant retourné par AddLink().

Exemple

//Sélection de la police
$pdf->SetFont('Arial','B',16);
//Décalage de 8 cm à droite
$pdf->Cell(80);
//Texte centré dans une cellule 20*10 mm encadrée et retour à la ligne
$pdf->Cell(20,10,'Titre',1,1,'C');
lundi 27 février 2006 à 08:17:03 | Re : Utilisation fpdf et php

flopad

C'est bon j'ai trouvé...


Cette discussion est classée dans : post, pdf, choix, header, fpdf


Répondre à ce message

Sujets en rapport avec ce message

Fichier pdf crée via php [ par flopad ] Salut,Je voudrais donner une taille prédéfinie à mes colonnes, j'ai vu que je pouvvais faire qque chose comme ajouter =>50 apres le titre de chaque co Génération d'un fichier pdf [ par flopad ] Bonjour, j'ai un formulaire avec des checkboxs qui permet à l'utilisateur de sélectionner les données qu'il veut exporter de la bdd au document pdf.Je Php et pdf, largeur cellule [ par flopad ] Salut, lorsque j'essaie de féfinir la taille de la largeur des colonnes d'entete de mon tableau, ca me sort une erreur d'offset sur la ligne en rouge  numero des pages avec FPDF pour créer documents PDF [ par billmax ] Bonjour,je dois réaliser la génération d'un PDF avec l'outils FPDF (que je conseil, car gratuit et vraiement puissant). Mon soucis est de faire appara Probleme avec fpdf [ par hasen ] Bonjour, je suis en train de faire une page qui me genere un fichier pdf. Pour ca, ca marche a peu pret, mais le probleme est qu'apres les lignes me p FPDF [ par GADSN ] bonjourvoila , il'ya presque trois semaine que je suis bloquer dans la génération d'un devis en format pdf depuis une table mysql: le doc pdf doit con Transformer un PDF (FPDF) en image [ par lowkey ] Salut !!Je souhaiterais transformer un PDF créé avec la classe FPDF en image.Ma question est : Est-ce que c'est possible?Voilou !! Merci d'avancelowke back office ajout produit [ par lert ] Bonjour, je travail sur une boutique en ligne, ( je précise que je suis débutant en php), il y à une collection homme et une collection femme, mon pro FPDF [ par zoomzoomzoomzoom ] Hello,j'utilise FPDF pour générer mes pdf à partir de texte, jpg etc... Est il possible de faire un PDF à partir de pdf ? ... Je m'explique, j'ai tout methode post history go back et header [ par ryykko ] bonsoir a tousbon une question a la con j imagine mais je comprends pas trop le comportement j ai un formualire de recherche en post on obtiens une li


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales