PHP aide sur une fonction

PHP aide sur une fonction - Programmation

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à!

Reply

Marsh Posté le 10-07-2001 à 14:28:08   

Reply

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?

Reply

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!

Reply

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...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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!

Reply

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 ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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

Reply

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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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é!

Reply

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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-07-2001 à 16:36:03   

Reply

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

Reply

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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-07-2001 à 17:25:09    

sympa, je m'y atèle de suite

Reply

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 :)

Reply

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]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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?

Reply

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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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...

Reply

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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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 ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed