Sujet : PHP aide sur une fonction |
shinji |
Ouais, c'est clair que s'il remettait cette fonction le problème serait vite résolut!
Merci pour ton aide précieuse ;) |
Mara's dad |
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] |
Mara's dad |
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 ! |