Bild in per php erzeugtes pdf einfuegen ("PDF_load_image" Problem)

NiciB

Erfahrenes Mitglied
Hallo!

Ich generiere mittels php pdf Dateien, was mit Text auch wunderbar funktioniert. Jetzt versuche ich aber eine Bilddatei in ein pdf zu packen was mir aber nicht gelingen will.

Ich habe schon sehr viel versucht und weiss nicht was ich noch testen soll.

Ich habe unten den Code, wo ich auch teste ob die Datei erreichbar ist.
  • var_dump liefert TRUE zurueck
  • die $image res ist "0" (output: "Handler: 0")

Ich kriege aber immer folgende Fehlermeldung:

Fatal error: Uncaught exception 'PDFlibException' with message 'Handle parameter 'image' has bad value 0' in C:\xampp171\htdocs\rr\test.php:11 Stack trace: #0 C:\xampp171\htdocs\rr\test.php(11): pdf_place_image() #1 {main} thrown in C:\xampp171\htdocs\rr\test.php on line 11

PHP:
<?php
echo '<img src="apache_pb.png">';
var_dump( file_exists('apache_pb.png') ); 

$pdf = PDF_new();
PDF_open_file($pdf,'bla.pdf');
PDF_begin_page($pdf,595,842);
$image = PDF_load_image($pdf,"png","apache_pb.png","");
echo "Handler: ".$image;
PDF_place_image($pdf,$image,64,26,.24);
?>
 
Hallo!

Ich habe jetzt durch viel rumprobieren und googlen eine Loesung gefunden die funktioniert. Ich kann nicht genau sagen, was der Fehler in dem anderen Codestueck war. Ich vermute das es mit dem "png" in PDF_load_image() zusammen haengt. Beim probieren habe ich naemlich gemerkt, dass es einen Unterschied zwischen "jpg" und "jpeg" gibt. Wenn ich "jpg" angebe funktioniert es nicht, gebe ich aber "jpeg" ein funktioniert es obwohl die Datei die Endung "jpg" hat.

Naja, ich poste einfach mal das funktionierende Codestueck:

PHP:
<?php
$pdf = PDF_new();
PDF_open_file($pdf,'<Pfadangabe zum zu generierenden pdf>');
PDF_begin_page($pdf,595,842);
$image = PDF_load_image($pdf,"jpeg","<Pfadangabe zum Bild>","");
PDF_place_image($pdf,$image,64,26,1);
pdf_close_image($pdf, $image);
pdf_end_page($pdf);
pdf_close($pdf);
?>
 
Zurück