Document PDF FPDF
jowjon67
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
heliconius Messages postés 539 Date d'inscription Statut Membre Dernière intervention -
heliconius Messages postés 539 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous remercie d'avance :),
J'ai un problème d'accent, et voudrait savoir comment y remédier, j'ai déjà vue pas mal de forum a ce sujet mais rien n'a fonctionner

Je vous remercie d'avance :),
J'ai un problème d'accent, et voudrait savoir comment y remédier, j'ai déjà vue pas mal de forum a ce sujet mais rien n'a fonctionner
$this->Cell(0,0,"L'agent des services vétérinaires soussigné certifie que les denrées désignées ci-dessous sont consignées, en l'attente d'informations complémentaires:");
A voir également:
- Fpdf utf-8
- Clé windows 8 - Guide
- Mixcraft 8 - Télécharger - Création musicale
- Internet explorer 8 - Télécharger - Navigateurs
- Windows 8 pro - Télécharger - Systèmes d'exploitation
- Google sketchup 8 - Télécharger - 3D
5 réponses
Les accents, j'ai pas de pb pour les guillemets
Moi je n'ai pas eu de problème. tu utilises quoi comme constructeur ?
Tu as un truc du genre dans ta function cell ...
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->MultiCell(40, 0, $date);
Tu as un truc du genre dans ta function cell ...
$txt2 = str_replace(')','\\)', str_replace('(','\\(',str_replace('\\','\\\\',$txt)));
$s .= sprintf('BT %.2F %.2F Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2);
require('tfpdf/tfpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->Head();
$pdf->Body();
J'utilise le même constructeur que toi à part que je crée directement mes "paragraphes" dans des fonctions
et qui je l'ai affiche à la fin comme pour:
$pdf->Body();
Pour la fonction Cell, oui j'ai un truc comme ça
$txt2='('.str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt))).')';
$s .= sprintf('BT %.2F %.2F Td %s Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2);
En voyant ça je me suis dis que peut être j'avais une trop vieille version mais j'ai essayer avec la dernière de FPDF (la 1.81) cela ne fonctionne pas non plus
Bonsoir,
Je pense qu'il s'agit peut-être d'un problème d'encodage ou de décodage selon que le serveur ou le générateur de la phrase est ANSI ou UTF-8.
Essaye l'une des deux solutions :
Je pense qu'il s'agit peut-être d'un problème d'encodage ou de décodage selon que le serveur ou le générateur de la phrase est ANSI ou UTF-8.
Essaye l'une des deux solutions :
$msg = "L'agent des services vétérinaires soussigné certifie que les denrées désignées ci-dessous sont consignées, en l'attente d'informations complémentaires:"; $this->Cell(0,0,utf8_decode($msg)); // si la chaîne est encodée UTF-8 // ou $this->Cell(0,0,utf_encode($msg)); // si elle est encodée ISO-8859-1
Bonjour
Commence par ça
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
Commence par ça
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
je crois qu'il faut prendre en compte deux choses :
- le générateur des textes
- les scripts qui créent le PDF
le générateur des textes : les textes à mettre dans le PDF proviennent soit d'un formulaire, soit d'une base de données.
Formulaires.
- Soit il y a plusieurs formulaires (celui qui prend les données et celui qui les traite), soit il n'y en a qu'un :
- soit il n'y en n'a qu'un, récursif :
Dans les deux cas les scripts peuvent, lors de l'écriture, être encodés ANSI (ISO-8859-1) ou être encodés UTF-8.
A) Si lors de l'écriture de ces scripts, ils sont encodés UTF-8, la saisie sera, elle aussi encodée UTF-8, il faudra donc les décoder pour la production du PDF et donc utiliser utf8_decode($message)
B) Si ces scripts sont, lors de l'écriture, encodées ANSI, les caractères saisis et traités seront eux-aussi ANSI et l'utilisation de cette fonction ne sera pas nécessaire.
Base de données;
Si les données proviennent d'une base de données et que celle-ci est conçue pour enregistrer des chaines UTF-8 (interclassement: utf8_%_ci), les chaines seront enregistrées et restituées en UTF-8 et l'utilisation de utf8_decode($message) sera aussi, nécessaire).
Si la base de données est créée avec encodage ANSI (ex: latin1_general_ci), l'utilisation de la fonction utf8_decode($message) sera inutile.
Pour résumer:
- BDD UTF-8 : utf8_decode() nécessaire
- Scripts de formulaire et traitement UTF-8 : utf8_decode() nécessaire
- BDD ou formulaire et traitement ANSI : utf8_decode() inutile
A titre d'exemple:
J'ai une base de données généalogique de démo (interclassement: latin1_general_ci) + des scripts PHP rédigés en ANSI. La production du PDF du livre de famille ne pose pas de problème avec la classe myPDF.
Voir en http://www.fauque.fr/demogen/
NB:
- la classe myPDF utilisée n'est qu'une extension de la classe tFPDF
- En bas de la page l'icone "Acrobat" génère le livre de famille
- En dernière page, l'heure de création de ce livre prouve qu'il n'est pas statique mais créé à la volée par l'interrogation de la BDD.
- Désolé si le texte est en anglais, c'est pour une plus large diffusion mais certains prénoms (André) possèdent des accents traduits correctement.
- IMPORTANT: Je te conseille d'utiliser l'éditeur Notepad++ qui te permet de choisir l'encodage (ANSI, UTF-8 sans BOM, UTF-8, UTF-16BE, UTF-16LE). Tu peux facilement le trouver en téléchargement (il est gratuit). Mais plutôt que la version classique, je te conseille la version portable en https://portableapps.com/apps (Development) que tu peux installer et utiliser partout sur une clef USB. Pour être tranquille, sur une clef neuve installe la plateforme et tous les logiciels dont tu as besoin (dont Notepadd++) afin d'avoir ton bureau avec toi sur clef et pouvoir l'utiliser partout (enfin sur des PC, pas des Mac ni Linux).
Est-ce que cela répond à ta question ?
je crois qu'il faut prendre en compte deux choses :
- le générateur des textes
- les scripts qui créent le PDF
le générateur des textes : les textes à mettre dans le PDF proviennent soit d'un formulaire, soit d'une base de données.
Formulaires.
- Soit il y a plusieurs formulaires (celui qui prend les données et celui qui les traite), soit il n'y en a qu'un :
<form method="post"(ici, il y a celui qui prend les données (saisie.php) et celui qui traite celles-ci (traitement.php)
name="saisie"
action="traitement.php">
- soit il n'y en n'a qu'un, récursif :
<form method="post"(ici, client.php qui effectue la saisie ET qui traite celle-ci)
name="saisie"
action="<?php echo $_SERVER["PHP_SELF"]; ?>">
Dans les deux cas les scripts peuvent, lors de l'écriture, être encodés ANSI (ISO-8859-1) ou être encodés UTF-8.
A) Si lors de l'écriture de ces scripts, ils sont encodés UTF-8, la saisie sera, elle aussi encodée UTF-8, il faudra donc les décoder pour la production du PDF et donc utiliser utf8_decode($message)
B) Si ces scripts sont, lors de l'écriture, encodées ANSI, les caractères saisis et traités seront eux-aussi ANSI et l'utilisation de cette fonction ne sera pas nécessaire.
Base de données;
Si les données proviennent d'une base de données et que celle-ci est conçue pour enregistrer des chaines UTF-8 (interclassement: utf8_%_ci), les chaines seront enregistrées et restituées en UTF-8 et l'utilisation de utf8_decode($message) sera aussi, nécessaire).
Si la base de données est créée avec encodage ANSI (ex: latin1_general_ci), l'utilisation de la fonction utf8_decode($message) sera inutile.
Pour résumer:
- BDD UTF-8 : utf8_decode() nécessaire
- Scripts de formulaire et traitement UTF-8 : utf8_decode() nécessaire
- BDD ou formulaire et traitement ANSI : utf8_decode() inutile
A titre d'exemple:
J'ai une base de données généalogique de démo (interclassement: latin1_general_ci) + des scripts PHP rédigés en ANSI. La production du PDF du livre de famille ne pose pas de problème avec la classe myPDF.
Voir en http://www.fauque.fr/demogen/
NB:
- la classe myPDF utilisée n'est qu'une extension de la classe tFPDF
- En bas de la page l'icone "Acrobat" génère le livre de famille
- En dernière page, l'heure de création de ce livre prouve qu'il n'est pas statique mais créé à la volée par l'interrogation de la BDD.
- Désolé si le texte est en anglais, c'est pour une plus large diffusion mais certains prénoms (André) possèdent des accents traduits correctement.
- IMPORTANT: Je te conseille d'utiliser l'éditeur Notepad++ qui te permet de choisir l'encodage (ANSI, UTF-8 sans BOM, UTF-8, UTF-16BE, UTF-16LE). Tu peux facilement le trouver en téléchargement (il est gratuit). Mais plutôt que la version classique, je te conseille la version portable en https://portableapps.com/apps (Development) que tu peux installer et utiliser partout sur une clef USB. Pour être tranquille, sur une clef neuve installe la plateforme et tous les logiciels dont tu as besoin (dont Notepadd++) afin d'avoir ton bureau avec toi sur clef et pouvoir l'utiliser partout (enfin sur des PC, pas des Mac ni Linux).
Est-ce que cela répond à ta question ?