PDFLib und jede Menge Fehler

C

Cooper

Hi, habe mir eben die PDFLib installiert und versucht nach dem Tut PDFs zu erzeugen. Leider das ganze nicht wirklich. Bekomme laufend irgendwelche Fehlermeldungen:
PHP:
<?php
$doc =pdf_new();
//erstellen des neuen Dokumentes innerhalb des Objektes
pdf_open_file($doc);
//Festlegen der Dokumentinformationen
pdf_set_info_author($doc, "M3");
pdf_set_info_title($doc, "PDF created on M3 PDF Server");
//Neue Seite innerhalb des Dokumentes befinnen mit den Parametern für Breite und Höhe
pdf_begin_page($doc, 250, 500);

//Font festlegen mit Schriftgröße und Encodingverfahren meistens "host"
pdf_set_font($doc, "Verdana", 9, "host");

//Inhalt einfügen mit der Angabe der x und y Koordinaten
pdf_show_xy($doc, "Test der PDFLib", 10, 300);

//Seite innerhalb des Dokumentes schliessen
pdf_end_page($doc);

//Dokument schliessen
pdf_close($doc);
//Dokument aus dem Buffer holer
$buff=pdf_get_buffer($doc);

//Header für die Ausgabe im Acrobat Reader verändern
header("Content-type:application/pdf")
header("Content-lenght:".strlen($buffer))
header("Content-disposition:inline, filename=M3.pdf")
echo $buff;
pdf_delete($doc);

1te Fehlermeldung:

Parse error: parse error, unexpected T_STRING in F:\PHP\PDF Maker\pdf.php on line 27

da verweist er auf die header Zeile "content lenght"
Wenn ich diese zum Testen auskommentieren schreibt er den Fehler in Reihe 28
auch wenn ich die auskommentiere kommt die nächste Fehlermeldung:

Fatal error: Call to undefined function: pdf_set_info_author() in F:\PHP\PDF Maker\pdf.php on line 6

Meine PHP Info sagt mir:
PDF Support enabled
PDFlib GmbH Binary-Version 5.0.3p1
Revision $Revision: 1.30.2.4 $

Woran liegt das denn?

Danke

Cooper
 
Na Schau Dir diese 3 Zeilen nochmal genau an:
PHP:
header("Content-type:application/pdf") 
header("Content-lenght:".strlen($buffer)) 
header("Content-disposition:inline, filename=M3.pdf")
Richtig! In jeder Zeile fehlt das Semikolon.

Zum zweiten Problem: pdf_set_info_author() sollte nicht mehr verwendet werden. Das ist eine alte Funktion. Auch hier nachzulesen:
--> http://de.php.net/manual/de/ref.pdf.php
Stattdess sollte über [phpf]pdf_set_info[/phpf] der Autor gesetzt werden.

snuu
 
Merci

Danke.

War mal wieder zu blind.

Nächste Frage:

Nun habe ich folgenden Code:

PHP:
<?php
session_start();

$_POST['Absender'];

$doc =pdf_new();
//erstellen des neuen Dokumentes innerhalb des Objektes
pdf_open_file($doc);
//Festlegen der Dokumentinformationen
pdf_set_info_author($doc, "M3");
pdf_set_info_title($doc, "PDF created on M3 PDF Server");
//Neue Seite innerhalb des Dokumentes befinnen mit den Parametern für Breite und Höhe
pdf_begin_page($doc, 250, 500);

//Font festlegen mit Schriftgröße und Encodingverfahren meistens "host"
pdf_set_font($doc, Verdana, 9, host);

//Inhalt einfügen mit der Angabe der x und y Koordinaten
//pdf_show($doc, "Test der PDFLib");
pdf_show($doc, $Absender);
//Seite innerhalb des Dokumentes schliessen
pdf_end_page($doc);

//Dokument schliessen
pdf_close($doc);
//Dokument aus dem Buffer holer
$buff=pdf_get_buffer($doc);

//Header für die Ausgabe im Acrobat Reader verändern
header("Content-type:application/pdf");
header("Content-lenght:".strlen($buff));
header("Content-disposition:inline; filename=M3.pdf");
echo $buff;
pdf_delete($doc);

Wie kann ich Variablen an das Skript übergeben,?
Ich habe versucht mit $_post[$Variable] eine Variable aus einem Formular zu übergeben und versuche diese Dann in die Datei zu schreiben via pdf_show($doc, $Variable), das scheint aber irgendwie nicht zu funktionieren. Auf der Suche nach der dazugehörigen Funktion bin ich ins Leere gelaufen.


thx,

Cooper
 
Einfache Antwort:
$_POST["$Var"] ist falsch,
$var = $_POST["Var"]; ist richtig.

Ausserdem:
Ich denke nicht, dass es ein Grundlagenproblem ist. Als Anfänger beginnt man nicht ein PDF zu erstellen.
Ich hab hier auch mehrere Fehler in meinen Scripten, da man an einer komplizierteren Aufgabe arbeitet und den Fehler nicht in den "Basics" sucht.
Fragt man einen Bekannten/Kollegen sieht er diesen Fehler sofort, weil er sich nicht im komplizierten Teil eingearbeitet hat und erst die Grundfunktionen prüft, woran man als selbstschreibener nicht denkt.

Sorry, wenn ich das mal wieder sage. Ich hoffe es wird mir hier nicht zum Verhängniss.
Es ist einfacher für jeden und vor allem eine Zeiterstparniss eben den Fehler und die Lösung zu nennen bei den "Basic" Problemen, als sich aufzuregen und einen Text dazu zu schreiben.

Schönen Dienstag,
Andreas
 
Ich denke nicht, dass es ein Grundlagenproblem ist. Als Anfänger beginnt man nicht ein PDF zu erstellen.
Die Frage war ja, wie man Parameter an ein Script übertgibt. Und das gehört meines Erachtens schon zu den Grundlagen! Deine "einfache Antwort" zeigt, wie man auf die Parameter im Script zugreift.

Meine Antworten auf so manchen Post sind für viele nicht akzeptabel, weil ich die Lösung nicht vorkaue, sondern Hinweise für die selbständige Lösung des Problems gebe. Meiner Meinung nach muss man auch in der Lage sein, sich selbst in Thematiken einzulesen und eigenständig Informationen zu sammeln.

Wenn man programmieren möchte, so muss man sich auch mit der Sprache auseinander setzen und verstehen, wie sie funktioniert. Jede Sprache lebt von Input und davon abhängigem Output, so dass die Übergabe von Parametern nun wirklich elementar ist und in jedem mittelmäßigen Buch oder Tutorial beschrieben werden sollte.

Zumal ich noch die Stichwörter GET und POST geliefert habe, um einen Anhaltspunkt für die Recherche zu haben.

snuu
 
Hi,

ich habe ein Problem. Ich habe auch Adobe Acrobat 6.0 um .pdf zu erstellen. Aber ich versuchte es mit PDFLIB mal.

So nun zu mein Problem. Wenn ich das ausführe kommt ja header der mir das speichern anbietet. So gespeichert. Aber nun öffne ich es mit Adobe Acrobat 6.0 und er sagt mir das, das File ungültig ist!

Hier mal der Code:

PHP:
<?


$doc = pdf_new();

pdf_open_file($doc);

pdf_set_info($doc, "Author", "fungo");
pdf_set_info($doc, "Title", "Tutorial für tuts.de");
pdf_set_info($doc, "Subject", "Einführung in PDFlib");

pdf_begin_page($doc,250, 500);

pdf_set_font($doc, "Helvetica", 9, "host");

pdf_show_xy($doc, "Test der PDFlib", 10, 300);


pdf_end_page($doc);

pdf_close($doc);

$buff = pdf_get_buffer($doc);

header("Content-Type: application/pdf");
header("Content-Length: ".strlen($buffer)."");
header("Content-Disposition: attachment; filename=tutorial.pdf");

pdf_delete($doc);

?>

Ob es an "header" liegt?
 
Wieso funktioniert das bei mir nicht? Folgende Fehlermeldung:
Fatal error: Call to undefined function: pdf_new() in /opt/lampp/htdocs/homepage/pdf.php on line 2
Bei PHP.Net nachgeschaut:
pdf_new
(PHP 4 >= 4.0.5, PHP 5)
phpinfo sagt: PHP Version 4.3.5
Wo liegt jetzt der Fehler?
 
weiß ich nicht, hab das xampp Paket ... Ich habe mal die pdf.php mal nach pdf durchsucht, da hab ich nix gefunden, außer halt den eigenen Dateinamen
 
Zurück