IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] Caractères grecs dans FPDF


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 18
    Points
    18
    Par défaut [FPDF] Caractères grecs dans FPDF
    Bonjour,

    Je génère des PDF comprenant du français, et les caractères spéciaux s'affichent normalement. Parfois, je dois afficher dans le même document des caractères grecs, mais FPDF n'affiche que les codes html...

    J'ai tenté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte = htmlentities(html_entity_decode($texte, ENT_QUOTES, 'UTF-8'),ENT_QUOTES,'UTF-8');
    Cela me retourne des codes du type Ε

    Si je reconvertis ensuite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $texte = htmlentities(html_entity_decode($texte, ENT_QUOTES, 'UTF-8'),ENT_QUOTES,'UTF-8');
    $texte = html_entity_decode($texte, ENT_QUOTES, 'UTF-8');
    Cela ne me retourne pas les bons caractères: ΥΑΚΙ ÎoeΟΥ Γ....

    Je ne sais plus trop quoi essayer... une piste serait la bienvenue.


    Merci

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    pourquoi encoder ces caractères? htmlspecialchar c'est pas plus indiqué? apres il me semble qu'il faut chercher la configuration avancée de php, pour regarder les locales du serveur. Et tu travailles en utf8 ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    htmspecialchars retourne le même problème. Je n'ai pas besoin d'utiliser d'encodage, si je fais simplement :

    Le texte s'affiche correctement. Par contre, dans le PDF ça ne joue pas...

  4. #4
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    est ce que tu utilises une font ou les caractères grecs sont disponibles?
    http://www.id.uzh.ch/cl/zinfo/fpdf/tutorial/tuto7.htm

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    J'utilise Arial.

    D'après ce que j'ai lu, il faut utiliser une police Unicode. Et Wikipedia me dit qu'Arial est unicode... http://en.wikipedia.org/wiki/Unicode..._Unicode_fonts

    Je suis pas une bête en typo, mais là je ne sais plus quoi faire pour régler ce problème. A ce stade, il semble presque plus simple de générer une image à partir du texte et de l'afficher dans le pDF.

  6. #6
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    include 'fpdf17/fpdf.php';
     
     
     
    class PDF extends FPDF
    {
    var $col=0;
     
    function SetCol($col)
    {
        //Set position on top of a column
        $this->col=$col;
        $this->SetLeftMargin(10+$col*40);
        $this->SetY(25);
    }
     
    function AcceptPageBreak()
    {
        //Go to the next column
        $this->SetCol($this->col+1);
        return false;
    }
     
    function DumpFont($FontName)
    {
        $this->AddPage();
        //Title
        $this->SetFont('Arial','',16);
        $this->Cell(0,6,$FontName,0,1,'C');
        //Print all characters in columns
        $this->SetCol(0);
        for($i=32;$i<=255;$i++)
        {
            $this->SetFont('Arial','',14);
            $this->Cell(12,5.5,"$i : ");
            $this->SetFont($FontName);
            $this->Cell(0,5.5,chr($i),0,1);
        }
        $this->SetCol(0);
    }
     
     
     
    }
     
    $pdf=new PDF();
        $pdf->AddPage();
    	$txt = 'Το Lorem Ipsum είναι απλά ένα κείμενο χωρίς νόημα για τους επαγγελματίες της τυπογραφίας και στοιχειοθεσίας. Το Lorem Ipsum είναι το επαγγελματικό πρότυπο όσον αφορά το κείμενο χωρίς νόημα, από τον 15ο αιώνα, όταν ένας ανώνυμος τυπογράφος πήρε ένα δοκίμιο και ανακάτεψε τις λέξεις για να δημιουργήσει ένα δείγμα βιβλίου. Όχι μόνο επιβίωσε πέντε αιώνες, αλλά κυριάρχησε στην ηλεκτρονική στοιχειοθεσία, παραμένοντας με κάθε τρόπο αναλλοίωτο. Έγινε δημοφιλές τη δεκαετία του  με την έκδοση των δειγμάτων της Letraset όπου περιελάμβαναν αποσπάσματα του Lorem Ipsum, και πιο πρόσφατα με το λογισμικό ηλεκτρονικής σελιδοποίησης όπως το Aldus PageMaker που περιείχαν εκδοχές του Lorem Ipsum.';
     
       $pdf->SetFont('Arial','',14);
       $pdf->Cell(0,6,$txt,0,1,'C');
    $pdf->DumpFont('Arial');
    $pdf->DumpFont('Symbol');
    $pdf->DumpFont('ZapfDingbats');
    $pdf->Output();
    ça reproduit ton probleme ? c'est developpez qui m'a enlevé le grec en faveurs des entitées.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Merci pour cet exemple

    La variable txt ressort comme à l'entrée (Τ etc.)

    Les différents dumps par contre marchent bien, et les caractères grecs s'affichent normalement (police symbol).

    Par contre, si je choisis simplement la police "Symbol" avant d'afficher le texte, ça ne règle pas le problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $pdf->SetFont('Symbol','R',10);
        $pdf->MultiCell(0, 4, $texte, 0, 'L');
    Merci encore pour ton aide

Discussions similaires

  1. Caractères grecs dans les labels des axes
    Par paul_fbm dans le forum MATLAB
    Réponses: 10
    Dernier message: 06/11/2009, 11h21
  2. Caractères grecs dans BDD et site
    Par BeatGrinder dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 17/08/2009, 18h07
  3. caractères grecs dans iReport
    Par Citsun dans le forum iReport
    Réponses: 0
    Dernier message: 21/11/2008, 11h22
  4. [iText] caractères grecs dans un PDF
    Par jeanGuignol dans le forum Documents
    Réponses: 2
    Dernier message: 17/11/2008, 14h09
  5. caractère grec dans un titre d'axes?
    Par Truth dans le forum MATLAB
    Réponses: 2
    Dernier message: 16/07/2008, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo