[RESOLU] Génération PDF et lecture sur Acrobat Reader

Bonjour,

Je suis un nouveau convaincu de Dolibarr et de ses bien faits depuis quelques jours déjà, je l’ai déjà pas mal usé, à vrai dire…
Mais voilà, je coince…

J’ai créé des modèles de propale en PHP et créé toute la stucture, intégré tous les attributs et leurs valeurs bien comme il faut (c’est déjà pas mal non?)
J’ai même intégré une police google « Rajdhani », déclinée en plusieurs empattements (light, medium, bold, regular et semi-bold) avec les fichiers .php et .z qui vont bien. (Et oui, ça fonctionne, sauf que…)

Sauf que quand je génère une propale en PDF, que je l’ouvre sur Google Chrome : Ouahou, j’ai le résultat que j’escomptais !
(Fausse joie : Bah oui, un google Font est… embarqué par google…)
En revanche, dans Acrobat Reader… J’ai une erreur. (peut-être due au fait qu’acrobat n’embarque pas nativement le « font »?)

Voilà des heures que je sillonne l’internet dans toutes ses largeurs et je dois avouer que je sèche un peu là…

J’ai var_dumpé mon $pdf avant l’export, j’ai plein de symboles « ? » à la place des caractères spéciaux et/ou certains espaces.

En fouillant un peu plus, j’ai constaté que, notamment, il y avait un soucis sur les valeurs des données internationalisées. Qu’à cela ne tienne, je suis allé vérifier que l’encodage de la base et de ses tables étaient bien en utf8_general_ci, que mon conf.php déclarait bien cela…

Et la réponse est OUI.

Je perds la tête, je suis au bout du rouleau, je vais saut… Euh non je vais rien faire, mise à part m’arracher les cheveux, je pense.

Une aide serait bienvenue, je l’avoue.

Merci énormément à vous pour votre aide par avance!

Peut-être qu’il y a un moyen d’embarquer la police dans les entêtes du PDF? (Je supute, je ne suis pas expert en matière de génération de PDF, j’aurais limite préféré HTML2PDF, mais on fait avec ce que l’on a, isn’t it? :happy: )

Slt

Pas sur que la communauté puisse vs aider
Comme vs l ouvrez avec chrome
c est que le pdf a été « bien » généré

c est donc un pb avec Acrobat Reader
Avez vs essayer d autre lecteurs pdf ? Sumatra ? foxit ?..

Hello pm17,

Merci pour ta réponse.
J’ai testé sur :

- Chrome : Nickel
- Firefox : Nickel
- Edge (blurps) : j’ai la structure des colonnes, le logo et la case signature, le tout, sans aucun texte…
- Acrobat Reader : Erreur (error 135 de mémoire)
- Sumatra (sur tes conseils) : Nickel
- Foxit Reader : Nickel

- Avec un autre Dolibarr, police normal : Nickel sur tous les outils testés

Voilà ce qui me mène à dire que la police et/ou l’entête et/ou l’encodage y est pour quelque chose, me semble-t-il :wink: Manquerait-il quelque chose de spécifique pour Acrobat Reader (On exclut Edge, hein… :smiley: )? Dans tous les cas, c’est bien TCPDF qui génère cela, donc via Dolibarr.

Aperçu de mon var_dump($pdf) juste avant l’export $pdf->Output($file, ‹ F ›);

Capture.jpg

Capture2.jpg

Je précise que c’est pour les besoins d’un client qui transmettra ses devis et factures à ses clients, avec cette police (font). Ses clients utiliseront Acrobat Reader… D’où ma persévérance.

Merci encore pour vos aides par avance

Bonjour
C’est probablement que la police n’est pas encapsulée dans le pdf. Si ce n’est pas un outil capable de récupérer la font ça n’écrit pas.
Je vous conseille de travailler avec des polices standard pour vous assurer de la compatibilité de votre pdf avec des lecteurs divers et variés.
Sinon il faut inclure la police dans le pdf mais le poids du fichier va exploser.
@+

Bonjour @philazerty, @pm17,

Merci pour votre aide.

J’ai trouvé la cause de ces syptômes et c’est assez déroutant.

1/ Il m’a fallu renommer les fichiers et les modifier :

- rajdhani-medium.php -> rajdhanimedium.php : puis, modifier la valeur des attributs s’y trouvant :
---- $name=‹ rajdhanimedium ›;
---- $file=‹ rajdhanimedium.z ›;
- rajdhani-bold.php -> rajdhanibold.php : puis, modifier la valeur des attributs s’y trouvant :
---- $name=‹ rajdhanibold ›;
---- $file=‹ rajdhanibold.z ›;
- rajdhani-medium.z -> rajdhanimedium.z
- rajdhani-bold.z -> rajdhanibold.z

- Et même démarche pour chaque empattement…

2/ Puis, j’ai dû supprimer la ligne $pdf->SetFont(pdf_getPDFFont($outputlangs)); de la méthode Write()

3/ Et enfin, il fallait simplement (pfiouh…) faire ce qui est dit dans la doc, à savoir au moment opportun :

- $pdf->SetFont(‹ rajdhani[medium|bold] ›, ‹  ›, 10);

Conclusion : ce sont les noms de « fonts » avec tirets qui posent problème!

Voilà, je sais que je ne suis pas le seul à avoir rencontré ce problème au vu de mes recherches sur le sujet, ma solution fera grimper au rideau les plus frustrés d’entre eux (comme je l’ai été ^^ )

Merci encore tout de même

Jonathan

2 « J'aime »

Slt
Perso il ne me semble pas avoir été tres utile :whistle: …mais si ton pb est résolu c est cool … bravo a toi :happy:

Tu n’as cité qu’un bout de mon message, tu as donc déformé mes propos, tu es un journaliste? :silly: :laugh:

Blague à part : toute aide est utile, donc rien n’est inutile :wink: Ca aide au moins dans la réflexion : un simple mot peut nous donner des idées…

Donc oui oui, merci bien ^^ Car la solution que j’ai trouvée aidera certainement la communauté à comprendre qu’intégrer un font dans TCPDF nommé avec des tirets, ça ne fonctionne point. (j’ai tellement rongé mes os pour trouver ça que j’ai envie de le clamer haut et fort ma solution sur la place publique, d’autant plus que je suis loin d’être le seul à avoir eu le problème :smiley: )

Allez, j’y retourne, au plaisir les z’amis.

WARNING : Dolibarr, prépares-toi à être encore mal-mené, j’arrive!