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 :

[PDF] FPDF-MySQL multi langues


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Points : 97
    Points
    97
    Par défaut [PDF] FPDF-MySQL multi langues
    Bonjour à tous,

    Je cherche désespérément à construire un document PDF à partir de données enregistrées en UTF8 dans mysql.

    Après m’être battu pour pouvoir enregistrer dans mysql des données en diverses langues (français, anglais, .. . et russe et chinois) et être capable de les réafficher dans un page php, je souhaite pouvoir utiliser ces données et établir des documents pdf.

    Actuellement, j’arrive donc à stocker en base les données comme elle on été saisies dans un formulaire. Si on regarde le contenu de la base (via phpmyadmin), les datas sont dans la langue utilisée. Si c’est du chinois, le contenu en Chinois.

    Pour ce qui est de langues pas trop exotiques (français, anglais, allemand), en utilisant FPDF, à priori pas de soucis. Par contre pour le russe et le chinois … le pdf ne m’affiche qu’une succession de « ?????? »

    Pour récupérer le résultat d’une requête, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->Cell(45,10,html_entity_decode($transfert['date_heure_arrivee_t']),1,0,'L');//largeur,hauteur,text,bordure(0ou1ouLTRB))
    Où $transfert['date_heure_arrivee_t'] est le résultat d’une requête mysql (formatage en UTF-8)

    Ma question : comment afficher dans un pdf des données qui peuvent être dans n’importe quelle langue ?
    J’ai lu que la génération de PDF est un peu particulier, dans la mesure ou on peut embarquer ou non le jeu de police. Le problème, c’est que je ne peux pas savoir à l’avance dans quelle langue est stockée la donnée en base de données. En d’autres termes, si je spécifie une police de caractère, celle-ci doit être universelle. Est-ce que cela existe ?

    J’utilise actuellement FPDF 1.6. Il existe une class dérivée tFPDF. Mais j’ai du loupé une étape.
    J’ai téléchargé tFPDF, mais je ne dois pas l’utiliser correctement, car j’obtiens les mêmes résultats qu’avec FPDF.

    En vous remerciant par avance pour votre aide,

    Bien à vous
    Tavar
    Mieux vaut penser avant d'agir que d'agir en rêvant.

  2. #2
    Membre régulier Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Points : 97
    Points
    97
    Par défaut
    Bonsoir,

    A priori, j'ai bien avancé. Après avoir parcouru plusieurs librairies, je suis revenu sur tFPDF. En partant de données stockées en base en UTF-8, j'arrive à afficher le résultat de requête en utilisant mysql_query("SET NAMES 'utf8'");
    Cela fonctionne avec de nombreuses langues dont le russe et autres langues nordiques. (tests fait rapidement)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    require('../include/tfpdf.php');
    ...
    mysql_query("SET NAMES 'utf8'");
     
    $pdf->AddFont('DejaVu','','DejaVuSansCondensed.ttf',true);
    $pdf->SetFont('DejaVu','',10);
     
    $pdf->Cell(160,4,$transfert['num_vol_t'],0,1,'L',0);//largeur,hauteur,text,bordure(0ou1ouLTRB)
    Seul le chinois résiste !

    D'où ma question : connaissez vous une police ttf universelle ? si oui où la télécharger ?

    En parcourant le net et en étudiant PCPDF, j'ai vu qu'il existe stsongstdlight, mais je n'ai que le fichier stsongstdlight.php que n'arrive pas transformer en stsongstdlight.ttf
    si je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pdf->AddFont('stsongstdlight','','stsongstdlight.php',true);
    le message d'erreur suivant apparait :

    Can't open file /usr/local/www/vhosts/nom_du_site/httpdocs/include/font/unifont/stsongstdlight.php
    par avance merci à celui ou celle qui pourra m'aider.

    Tavar

    une réponse possible est la police arialuni

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $pdf->AddFont('ARIALUNI','','ARIALUNI.ttf',true);
    $pdf->SetFont('ARIALUNI','',10);
    Tavar
    Mieux vaut penser avant d'agir que d'agir en rêvant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bien créer une application multi-langues ? Unicode ou non ?
    Par Maxime Abbey dans le forum Composants VCL
    Réponses: 28
    Dernier message: 10/09/2007, 17h20
  2. Application multi-langue
    Par JerBi dans le forum EDI
    Réponses: 2
    Dernier message: 15/09/2005, 02h22
  3. [Application multi-langues] Compilateur ou fichier lng ?
    Par Teb dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/08/2005, 16h48
  4. [CR][.NET] Rapport multi-langue
    Par Harakor dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 16/02/2005, 17h06
  5. [C#] Multi langue - fichier resource.resx
    Par dacamp dans le forum ASP.NET
    Réponses: 5
    Dernier message: 03/06/2004, 16h25

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