PHP : Générer un PDF à partir d'une image

Fermé
ifoks - 13 janv. 2010 à 12:30
 abss555 - 18 avril 2010 à 12:02
Bonjour,

Je voudrais pouvoir créer des documents PDF à partir d'images aux multiples formats (jpeg, png, gif ect...).
L'utilisateur upload une image via un formulaire, j'enregistrerais alors l'image convertit en PDF dans un répertoire avec le lien enregistré dans ma BDD SQL. Voici le code que j'utilise :

<?php
if (isset($_FILES['image']))
{
if ($_FILES['image']['type'] != 'image/png' && $_FILES['image']['type'] != 'image/jpeg' && $_FILES['image']['type'] != 'image/jpg' && $_FILES['image']['type'] != 'image/gif' && $_FILES['image']['type'] != 'image/pdf')
{
$erreur = '<p>L\'image doit être au format *.jpeg, *.gif ou *.png ou *.pdf</p>';
}

elseif (!file_exists($repertoire))
{
$erreur = '<p>Erreur, le dossier d\'upload n\'existe pas (documents).</p>';
}

if(isset($erreur))
{
echo $erreur;
}
else
{
$extention=".pdf";
$nom_fichier = $titre.$extention;
if (move_uploaded_file($_FILES['image']['tmp_name'], $repertoire.$nom_fichier))
{
$lienimage = $repertoire.$nom_fichier;
echo $lienimage;
echo '<img src"'.$lienimage.'" alt="imagedoc""/>';
}
}
}
?>


Rajouter un .pdf ne suffit apparemment pas, mon image ne veut pas s'afficher pourtant dans sa description le format à bien été changé en PDF.
En faisant des recherches j'ai vu qu'il y a une classe FPDF mais apparemment elle permet de créer du PDF à partir du html, moi je veux juste convertir le format d'une image. Cela est-il possible ?

Merci
A voir également:

13 réponses

Bonjour

ça n'est pas de rajouter .pdf à la fin d'un nom de fichier qui lui donne le format pdf ! Crée sur ton MAC un fichier texte et renomme-le en truc.pdf, tu verras bien que Acrobat Reader ne l'ouvre pas.
Si si, il faut bien passer par des bibliothèques spécialisées
2
je plussois
0
Up, sa doit pas être compliquer je veux juste transformer une image en pdf sans avoir besoin d'utiliser un truc style FPDF ou autre.

merci
0
Salut,

Merci de m'avoir répondus tu ne pourrais me mettre sur la voie de ces fameuses bibliothèques ? Sa fait 2 heures que je cherche sur google et je n'ai rien trouvé qui correspond à mon problème.

Je ne veux rien modifier dans l'image (ni la taille ni le contenue), je veux juste la convertir en PDF. J'ai télécharger FPDF mais apparemment je suis obligé de l'introduire en haut de ma page HTML alors que je souhaiterais l'utiliser après la vérification de l'upload, c'est à dire au milieu de mon code PHP. Et puis sa me propose de télécharger l'image en pdf alors que je voudrais juste l'enregistrer dans ma BDD....
0
Sa fait 2 heures que je cherche sur google
Les renseignements sur PHP, il faut les chercher dans le manuel de référence PHP, pas sur google ... C'est dans la table des matières des fonctions :
https://www.php.net/manual/fr/book.haru.php
https://www.php.net/manual/fr/book.pdf.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Les licenses sont malheureusement payantes.

J'essaye de refaire mon code pour l'utiliser avec FPDF, j'accepte donc tout les formats dans ma BDD, je voudrais afficher une image miniature pour chaque document dans un tableau, avec pour chacune un lien "Ouvrir" qui basculera sur une page et grâce à un GET et à FPDF cette dernière proposera le document en PDF.

Mon seul soucis est que je n'arrive pas à afficher une image miniature d'un fichier PDF avec la balise <img/>. L'administrateur veut pouvoir uploader tout les formats d'images, y compris les PDF, existe-t-il une balise qui puisse me permettre de faire ça ?
0
Les licenses sont malheureusement payantes.PDFlib Lite semble gratuit. Ça ne répond pas à tes besoins ?
je n'arrive pas à afficher une image miniature d'un fichier PDF
Dans ton message initial, tu voulais transformer des images en pdf, maintenant, tu veux transformer un pdf en image... Je ne suis pas très bien.
L'administrateur veut pouvoir uploader tout les formats d'images, y compris les PDF PDF n'est pas un format d'image
, existe-t-il une balise qui puisse me permettre de faire ça ? la balise <input type = "file"> permet d'uploader tous les types de fichier, pdf ou image ou exécutable, peu importe.
0
J'essaye de m'adapter pour trouver une solution. En gros l'administrateur veut pouvoir uploader n'importe quel type d'image sur le site, que ce soit pdf, jpg, png. Je dois me débrouiller pour que toutes ces images soient de type PDF pour les utilisateurs pour plus de facilité.

Au début je pensais modifier le format (ou type) de toutes les images en PDF puis les enregistrer dans la BDD. Apparemment ce n'est pas possible donc j'enregistre directement toutes les images dans la BDD sans changer le format.

Ensuite en fonction du format si celui-ci est un pdf je le mets direct en lien et si le format est autre (jpeg ou png) j'utilise FPDF. Sa à l'air de marcher sauf que je ne peux pas afficher de miniature pour plus de clarté.

Je créer un site pour une entreprise commerciale donc pour éviter les problèmes je préfère utiliser FPDF qui est strictement gratuit.
0
Donc tu dois bien faire les deux : transformer les images en pdf ( à l'upload ou au download, à voir...) ET transformer le pdf en image pour les miniatures.
D'après le site, FPDF ne fait que créer des pdf. Je n'ai rien à te proposer pour l'opération inverse malheureusement. Désolé.
0
C'est pas grave je m'en contenterait ^^

Merci pour ton aide cher amis bonne fin de journée
0
yacleouf Messages postés 438 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 8 juin 2015 39
13 janv. 2010 à 16:04
salut
Ce qui serait fesable c'est que tu code tonscript de vérification dans une autre page, tu y integre la classe fpdf ensuite sur la page ou tu valide avec ton bouton tu appel ton script php?
0
C'est se que j'ai fait, sa marche pas mal. Le seul hic c'est que je n'arrive pas à afficher un aperçut des fichiers PDF en image miniature. Si tu es connaisseur de FPDF est-ce que tu sais comment donner un titre au document PDF créé ? Chez moi sa me l'appelle doc1.pdf, doc2.pdf ect...
0
yacleouf Messages postés 438 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 8 juin 2015 39
13 janv. 2010 à 16:52
je suis désolée mais j'ai juste eu une idée en voyant ton problème, je compatis car moi aussi je me prend la tête sur fpdf mais qu'avec de l'objet, c'est un peut chaud
0
bonjour,
il suffit d'utiliser la méthode :

$pdf->Output($file_name);

et tu met le nom qui te conviens dans $file_name.

autrement dit, c'est toi qui gère les noms de tes fichier et non pas FPDF.

Ps:
je viens de voir la date, ca fait quelque mois quand même, je suppose que tu as trouvé la solution depuis, mais, le sujet n'a pas été clos, donc...........
bonne continuation
0