Image dans PDF

Petit nouveau ! | 4 Messages

15 oct. 2023, 19:04

Bonjour,

J'ai voulu mettre les résultats de mes algorithmes dans un pdf.
J'ai testé FPDF mais les images ne s'affichent pas.
Les jpg pas du tout et les png avec une qualité qui rend l'image illisible.

ChatGPT n'a aucune idée d'où vient le problème. Sur internet, le problème est abordé sauf que les solutions ne sont pas applicables dans mon cas puisque je travaille directement sur mon site en ligne.

Quelqu'un aurait une idée de ce qu'il se passe avec cette bibliothèque ou laquelle utiliser pour obtenir mes pdf ?

Merci,
Karine

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9700 Messages

17 oct. 2023, 10:37

FPDF gère correctement les images. Si elles sont floues c'est probablement parce que tu ne les as pas redimensionnées correctement, si elles ne s'affichent pas c'est soit qu'il y a un souci dans la génération de tes images (genre une image PNG avec une extension .JPG) ou que le chemin utilisé est faux.

En alternative à FPDF, tu peux essayer TCPDF
https://tcpdf.org/
Exemple avec images :
https://tcpdf.org/examples/example_009/
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

23 oct. 2023, 13:52

Bonjour,

J'ai pourtant essayé de les redimensionner de nombreuses fois. 300px de large semblait le meilleur résultat mais quand j'ai remis cette valeur, l'image ne s'afichait pas plus qu'à 295 ou 305. DOnc le problème doit venir d'ailleur smais je ne vois pas.
Résultat, je suis en train d'essayer dompdf mais j'ai mis encore plus de temps à le configurer donc pas sûre de pouvoir afficher d'vaantage d'images.

Petit nouveau ! | 4 Messages

25 oct. 2023, 17:54

Bonjour,

Alors j'ai essayé avec DomPDF finalement. Aucun problème à générer le pdf côté serveur. Mais quand j'essaie de l'afficher dans le navigateur ou de le télécharger côté cllient, le problème est le même qu'avec FPDF. Je précise que je passe par un CMS mais je ne vois pas en quoi ça perturberait l'affichage d'images.
D'autant que j'ai essayé avec les pdf créés dans les tutoriels et là, une image pas grande et avec peu de couleur, ça passe.
Donc j'ai essayé d'ouvrir juste les images qui pourtant ne sont pas lourdes et là, impossible de les afficher sur le navigateur car firefox estime qu'elles contiennent toutes des erreurs. Même des jpeg. Je n'ai pas encore trouvé une image qui puisse être affichée sans erreur.

Tout ça pour dire que le problème ne vient pas des bibliothèques de créations de pdf mais uniquement de l'envoie du pdf ou plus précisément des images.
Seule solution que je vois est d'envoyer le résultat par mail. Si quelqu'un a une solution plus rapide et interactive, je suis preneuse.

Merci

Petit nouveau ! | 1 Messages

26 oct. 2023, 00:32

Bonjour,

Alors j'ai essayé avec DomPDF finalement. Aucun problème à générer le pdf côté serveur. Mais quand j'essaie de l'afficher dans le navigateur ou de le télécharger côté cllient, le problème est le même qu'avec FPDF. Je précise que je passe par un CMS mais je ne vois pas en quoi ça perturberait l'affichage d'images.
D'autant que j'ai essayé avec les pdf créés dans les tutoriels et là, une image pas grande et avec peu de couleur, ça passe.
Donc j'ai essayé d'ouvrir juste les images qui pourtant ne sont pas lourdes et là, impossible de les afficher sur le navigateur car firefox estime qu'elles contiennent toutes des erreurs. Même des jpeg. Je n'ai pas encore trouvé une image qui puisse être affichée sans erreur.

Tout ça pour dire que le problème ne vient pas des bibliothèques de créations de pdf mais uniquement de l'envoie du pdf ou plus précisément des images.
Seule solution que je vois est d'envoyer le résultat par mail. Si quelqu'un a une solution plus rapide et interactive, je suis preneuse.

Merci
Voici quelques étapes que vous pouvez suivre pour résoudre ce problème :

Assurez-vous que les chemins des images spécifiés dans le PDF sont corrects et accessibles. Vérifiez que les images existent à ces emplacements.

Vérifiez le format des images. DomPDF prend en charge plusieurs formats d'image, mais il est préférable d'utiliser des formats courants tels que JPEG ou PNG pour minimiser les problèmes.

Assurez-vous que les images sont correctement encodées. Les images corrompues peuvent entraîner des erreurs d'affichage.

Essayez de redimensionner ou de réencoder les images si elles sont très grandes. Des images de grande taille peuvent provoquer des problèmes d'affichage dans le navigateur.

Assurez-vous que le contenu HTML de votre PDF est bien formé, et que les balises d'image (par exemple, <img>) sont correctement utilisées.

Si vous générez le PDF à partir d'un CMS, vérifiez si le CMS n'ajoute pas de caractères indésirables à la sortie PDF.

Si le problème persiste, envisagez de consulter la documentation de DomPDF ou de rechercher des forums de support spécifiques à DomPDF pour obtenir de l'aide.

Petit nouveau ! | 4 Messages

26 oct. 2023, 14:36

Merci.
Apparemment les images comportent des erreurs mais je ne sais pas lesquelles. J'ai utilisé GIMP pour les créer et le fait est que ces images s'impriment parfaitement côté serveur.
J'ai lancé un analyse de perf d'affichage qui conseillait de compresser les images dans des formats plus récents hors ne pas utiliser des jpeg ou png dans dompdf risque de donner pire résultat.
C'est seulement en envoyant le fichier vers le client que les images du fichier se corrompent. J'ai testé avec d'autres fichiers que le mien, dès que l'image est trop grande ou multicouleurs, le fichier n'est plus ce qu'il était au départ à réception sur l'ordinateur client.

Comme je disais, si personne n'a de solution, je peux toujours envoyer le fichier par mail même si cela implique des clauses de confidentialité à ajouter ...

Mais finalement, le prob ne vient ni de FPDF ni de dompdf. Cela viendrait soit des bibliothèques php soit des protocoles de communication. J'avoue que ça me dépasse largement à ce niveau