PHP aide sur une fonction - Programmation
Marsh Posté le 10-07-2001 à 14:31:13
Je sais pas quoi mettre dans les paramètres, comme data par ex?
Comment fait-on sinon pour avoir la taille d'une image en mémoire ou d'une image à partir de son url?
Marsh Posté le 10-07-2001 à 15:33:28
plz vous voudriez pas essayer, elle m'énerve cette fonction!!!
Pas le bon nombre d'arguments, pas les bons, erreur par ci, erreur par là, j'en peut plus moi, je vais craquer, adieu
Non sans déconner, jamais utiliser! C'est vrai qu'elle est chiante!
Marsh Posté le 10-07-2001 à 15:43:58
C'est quoi est'ce que tu veux faire exactement ?
Pasque des fonction pour lire des images en mémoire ou ailleur, y'en a d'autre. pdf_open_image() est une fonction générique pour les images. Ca veut dire qu'il y a des fonction spécialisées...
Marsh Posté le 10-07-2001 à 15:52:44
J'avais déjà posté un post et je voulais utiliser la fonction:
pdf_open_memory_image pour générer dynamiquement une image en PHP puis la placer dans un doc PDF car je ne peut pas stocker l'image sur le dur (souhait de l'entreprise). Mais cette fonction n'existe plus sous PHP pour Windows!
Tu m'avais dit d'essayer avec pdf_open_image mais j'y arrive pas!
Merci de m'aider!
Marsh Posté le 10-07-2001 à 16:01:36
T'as quelle version de php.
Avec la 4.0.5 pdf_open_memory_image marche pas sous windows, c'est vrai, mais t'as essayé avec la 4.0.6 ?
Marsh Posté le 10-07-2001 à 16:12:09
Même message avec la 4.0.5 qu'avec la 4.0.6! à savoir:
Fatal error: Call to undefined function: pdf_open_memory_image() in c:\web\acrobat\marcheoupas.php on line 56
Marsh Posté le 10-07-2001 à 16:21:35
Bon, ben j'ai essayé, est pdf_open_memory_image() marche toujours pas en 4.0.6 sous windows !
Pour pdf_open_image(), j'ai lu la doc de PDFLIB, et elle dit çà:
Si Source est 'memory', alors Data est la suite d'octets represantant l'image (sous format compressé en fonction du format choisi) et Length est la taille en nombre d'octets de ce que tu as dans Data !
Heu, là je l'sens mal !
Marsh Posté le 10-07-2001 à 16:26:49
heu , ben heu ... c'est à dire queuuuu heu voilà pourquoi j'ai mis un post quoi!
C'est pas gagné!
Marsh Posté le 10-07-2001 à 16:36:03
Idée, créer un script php qui génère une image mais pas dans un fichier.
Lire le .php, comme si s'était une image, masi par son url et mettre le résultat dans une chaîne que tu passe comme data !
J'essaye !
Marsh Posté le 10-07-2001 à 16:41:04
Pour le script PHP qui génère l'image, c'est ok, je sais faire par contre je vois pas ce que tu entends par mettre le résultat dans une chaine...mais vas-y c'est sympa d'essayer.
Merci
Marsh Posté le 10-07-2001 à 17:21:30
Voilà l'idée. Elle marche pas encore, mais c'est pour que tu cherche aussi !
<?
// Overture de l'image
$fp = fopen("http://localhost/image.php", "r" );
// Lecture binaire dans $data. Problème je connait pas la taille du fichier !
$data = fread($fp, 100000);
// Fermeture du fichier
fclose($fp);
// Calcul de la longueur lue.
$len=strlen($data);
// Créer un document
$pdf=pdf_new();
pdf_open_file($pdf, "test.pdf" );
pdf_begin_page($pdf, 595, 842);
// Là çà passe sans erreur ! ! !
$pim = pdf_open_image($pdf,"jpeg","memory", $data, $len, 300,100, 4, 8, "" );
PDF_place_image($pdf, $pim, 200, 150, 1);
PDF_close_image($pdf, $pim);
pdf_end_page($pdf);
pdf_close($pdf);
?>
Le problème, c'est qu'ensuite acrobat reader m'insulte en me disant: "L'image de Form, de type 3 ou de motif est trop grande."
?????
Bon Kawa Clop et j'y retourne !
Marsh Posté le 10-07-2001 à 18:04:06
je dois y aller, j'ai fait d'autres essais avec ton script mais rien de concluant
Je m'y remet dès demain, merci encore
Marsh Posté le 10-07-2001 à 18:37:25
Je pense qu'il y a un bug dans la fonction pdf_open_image()
Si j'utilise çà:
$pim = pdf_open_image_file($pdf, "jpeg", "image.jpg" );
Avec image.jpg qui est limage générée par php, mais dans un fichier cette fois, et bien çà marche !
Si je lit dans data et que j'affiche $data à l'écran, j'ai bien du charabia JPEG avec dedans "JFIF" et "CREATOR: gd-jpeg V1.0".
Quand j'utilise çà :
$pim = pdf_open_image($pdf, "jpeg", "memory", $data, $len, 300, 100, 3, 8, "" );
Et que je compare les deux fichier PDF obtenus, ils sont identiques, sauf que dans le premier je trouve bien mon image JPEG alors que dans le 2ème, j'ai des trucs qui n'ont rien à voir ! Cà commence par C:\inetpub\wwwroot, et ensuite c'est du charabia !
Y'a comme une magouille en mémoire on dirait !
J'ai essayé vérifier que $data contenait bien une image jpeg en réécrivant un fichier JPEG avec fwrite.
Je comprend rien à cette fonction !
J'ai envoyé un bug report @www.php.net !
http://www.php.net/bugs.php?id=12021
[edtdd]--Message édité par Mara's dad--[/edtdd]
Marsh Posté le 11-07-2001 à 14:43:29
Merci, j'avais pas Internet de la matinée! Put... de réseau de ...
J'avais également posté un beug sur php.net et ils m'ont répondu ce matin en me renvoyant au bug que tu avais signalé, donc à suivre. Merci beaucoup, tu fais du php depuis longtemps?
Marsh Posté le 11-07-2001 à 15:06:37
A peu près 3 ans. Mais juste pour mon site perso ou pour aider les autres Je trouve ce language génial. Cà me rappelle le bon vieux temps de la programmation sous DOS avec Turbo Pascal ou Clipper !
J'aimerai bien que ma boîte me trouve des missions PHP, plutôt qu'ASP ou JAVA ou encore des migration de données comme maintenant !
Marsh Posté le 11-07-2001 à 15:19:25
S'il t'ont répondu, c'est que quelqu'un chez eux s'en occupe.
C'est une bonne nouvelle, moi y m'on rien dit ! J'ai juste reçu un mail automatique avec la description du bug.
Marsh Posté le 11-07-2001 à 15:33:14
Sur mon message "report bug", ils disent d'aller voir le tien, donc je pense qu'ils vont s'occuper du problème et mettre les réponses sur le tien.
En attendant...
Marsh Posté le 11-07-2001 à 15:37:23
Si t'as remarqué, j'en ai profité pour parler de la fonction pdf_open_memory_image(). Pasque ce serait quand même la plus pratique à utiliser dans ton cas !
L'avantage de pdf_open_image() c'est qu'on peut imaginer créer un document PDF avec des images récupérées quelque-part sur le WEB par leur URL !
Marsh Posté le 11-07-2001 à 15:46:34
Ouais, c'est clair que s'il remettait cette fonction le problème serait vite résolut!
Merci pour ton aide précieuse
Marsh Posté le 10-07-2001 à 14:28:08
J'ai besoin d'une fonction "pdf_open_image", est-ce que vous l'auriez déjà utilisée parce que j'ai beau lire et tester, je n'arrive pas à utiliser cette fonction pour ouvrir une image générée en mémoire ou à partir d'un url.
Si vous l'avez déjà fait pourriez vous me montrer un exemple, la manuel est nul sur ce coup là!