Mit PHP pdf-Dateien erzeugen

Alles, was PHP betrifft, kann hier besprochen werden.

Mit PHP pdf-Dateien erzeugen

Postby Juli » 03. December 2005 19:02

Wollte ganz gern mal pdf Dateien erzeugen, komme nicht so richtig klar. Kann mir jemand helfen?

Habe in einer Html-Seite folgendes eingebaut:

<?php
$pdf = pdf_new();
PDF_open_file($pdf, "");
PDF_begin_page($pdf, 595, 842);

PDF_end_page($pdf);
PDF_close($pdf);
header('Content-type: application/pdf');
header('Content-Disposition: PHP Generated Data');
print PDF_get_buffer($pdf);
//PDF_delete($pdf);
?>

Bekomme aber immer wieder Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at D:\0_Homepages\_Adressbuch\liste26.phtml:6) ....

Wollte mich eigendlich ganz langsam rantasten und nach und nach ausbauen. Doch ich scheiter schon am Anfang.
Juli
 

Re: Mit PHP pdf-Dateien erzeugen

Postby Desaster » 03. December 2005 20:53

Juli wrote:Bekomme aber immer wieder Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at D:\0_Homepages\_Adressbuch\liste26.phtml:6) ....

Dieser Fehler sagt dir, dass Du in liste26.phtml Zeile 6 einen output an den Browser schickst.
Code: Select all
header('Content-type: application/pdf');
header('Content-Disposition: PHP Generated Data');

Setze den header mal an den Anfang des Scriptes und vermeide Leerezeichen etc. die außerhalb des PHP-Codes liegen.
Dann sollte es funktionieren.

Viel Spaß beim PDF-basteln

Gruß von der Insel
Please hold the line...
The person you have called is temporary unavailable!
Desaster
 
Posts: 7
Joined: 30. November 2005 15:50
Location: Langeoog

Postby KingCrunch » 03. December 2005 21:16

Du kannst auch mal im PHP Manual nachschauen zum Thema "Ausgabesteuerung". Da kannste die Ausgabe zwischenspeichern und eben später fortsetzen. Header müssen vor jeglichen Inhalt gesendet worden sein.
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Pdf mit PHP erzeugen

Postby Juli » 04. December 2005 12:34

Irgendwie komme ich nicht klar. Habe die 2 header-Zeilen nach oben verschoben doch die Fehlermeldung bleibt. Selbst wenn ich nur die Header-Zeilen nehme kommt diese Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at D:\0_Homepages\_Adressbuch\liste26.phtml:6) in D:\0_Homepages\_Adressbuch\liste26.phtml on line 17
Warning: Cannot modify header information - headers already sent by (output started at D:\0_Homepages\_Adressbuch\liste26.phtml:6) in D:\0_Homepages\_Adressbuch\liste26.phtml on line 18
%PDF-1.5 %äãÏÒ 1 0 obj [/PDF/ImageB/ImageC/ImageI/Text] endobj 4 0 obj <> stream xœ endstream endobj 5 0 obj 8 endobj 6 0 obj <> endobj 7 0 obj <> endobj 3 0 obj <> endobj 2 0 obj <> endobj 8 0 obj <> endobj xref 0 9 0000000000 65535 f 0000000015 00000 n 0000000401 00000 n 0000000300 00000 n 0000000063 00000 n 0000000143 00000 n 0000000160 00000 n 0000000195 00000 n 0000000455 00000 n trailer <<089488A0BBD0456A50B30DF0C6209643>] >> startxref 502 %%EOF


Wenn ich hier schon scheiter, wo ich eigendlich noch garnicht begonnen habe, was soll das noch werden.
Ich denke mein Problem liegt vieleicht ganz wo anderst. Gibt es nicht so ein Test-Skript ob PDF überhaupt funktioniert?
Muß so eine html-Seite eine vorgeschriebene Endung haben wie z.b. phtml oder php?
Habe auch unter PHP Manual nachgeschaut Thema "Ausgabesteuerung". Komme da auch nicht weiter.
Juli
 

Postby Juli » 04. December 2005 16:44

Ich habe es geschaft :D Meine erste pdf-Datei

Code: Select all
<?php
$pdf = PDF_new();

   if (PDF_begin_document($pdf, "", "") == 0) {
      die("Error: " . PDF_get_errmsg($pdf));
   }
   PDF_set_info($pdf, "Creator", "hello.php");
   PDF_set_info($pdf, "Author", "Juli");
   PDF_set_info($pdf, "Title", "Hello world (PHP)!");
   PDF_begin_page($pdf, 595, 842);

   $font = PDF_load_font($pdf, "Helvetica-Bold", "winansi", "");
   PDF_setfont($pdf, $font, 24.0);

   PDF_set_text_pos($pdf, 50, 720);
   PDF_show($pdf, "Mein erster Versuch in PDF!");
   PDF_continue_text($pdf, "(mit PHP)");

   PDF_end_page_ext($pdf, "");
   PDF_end_document($pdf, "");
   $buf = PDF_get_buffer($pdf);

header("Content-type: application/pdf");
header("Content-Length: . strlen($buf)");
header("Content-Disposition: inline; filename=hello.pdf");

print ($buf);
PDF_delete($pdf);
?>
Juli
 

Bilder in das pdf-Dokument einbinden

Postby Juli » 12. December 2005 16:42

Hallo,

kann mir da jemand helfen, möchte ein Bild in mein pdf-Dokument einbauen und komme einfach nicht klar. Hier mein x.Versuch

Code: Select all
<?php
$pdf = pdf_new();

   pdf_open_file($pdf, "");
   pdf_set_info($pdf, "Creator", "hello.php");
   pdf_set_info($pdf, "Author", "Jutta");
   pdf_set_info($pdf, "Title", "Hello world (PHP)!");

   $pim = pdf_open_image_file($pdf, "gif", "D:/bild.gif","",0);
   pdf_place_image($pdf, $pim, 40, 10, 1);
   pdf_close_image($pdf, $pim);

   pdf_end_page($pdf);
   pdf_close($pdf);
   $buf = PDF_get_buffer($pdf);

header("Content-type: application/pdf");
header("Content-Length: . strlen($buf)");
header("Content-Disposition: inline; filename=hello.pdf");

print ($buf);
pdf_delete($pdf);
?>


Fehlermeldung:
    Fatal error: pdf_place_image(): [2100] PDF_place_image: Function must not be called in 'document' scope in D:\0_Homepages\pdfprint-test.php on line 10
Juli
 


Return to PHP

Who is online

Users browsing this forum: No registered users and 10 guests