pdflib ver.4 - was mach ich falsch?

RalfHeinz

Erfahrenes Mitglied
Zunächst Angaben aus meiner phpinfo aus all-inkl.
Code:
PDFlib GmbH Version 	4.0.3
PECL Version 	2.1.6
Revision 	$Revision: 1.13 $

Ich wollte mich nun mit dem Thema PDF erzeugung beschäftigen und war zunächst einmal froh Tutorials zu diesem Thema zu finden die eingentlich leicht verständlich sind. Allerdings tauchten dann doch Probleme auf die ich nicht lösen konnte.

Habe dieses Beispiel benutzt um ein einfaches PDF zu erzeugen und auszugeben.
PHP:
<?php
$p = PDF_new();

/*  open new PDF file; insert a file name to create the PDF on disk */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}

PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hello world (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");

$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");

PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "Hello world!");
PDF_continue_text($p, "(says PHP)");
PDF_end_page_ext($p, "");

PDF_end_document($p, "");

$buf = PDF_get_buffer($p);
$len = strlen($buf);

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

PDF_delete($p);
?>

Dabei bekomme ich folgende Fehlermeldung:
Code:
Fatal error: Call to undefined function pdf_begin_document() in /www/htdocs/w00d12df/pdf/pdf.php on line 5

Sieht für mich aus als wäre PDFLIB nicht installiert. Die PHPINFO zeigt aber dass es doch eine Installation davon gibt.
Wo liegt mein Fehler?
 
Ich habe mich zwar noch nie mit PDFs in Zusammenhang mit PHP beschäftigt, aber die Fehlermeldung sagt ja, dass diese Funktion nicht existiert.
Kann es sein, dass du die Bibliothek noch includen müsstest?

Ausserdem, wenn die Funktion PDF_begin_document(); in der Klasse PDF_new(); steht, dann musst du mit $p->PDF_begin_document(); auf die Funktion zugreifen.
 
also phpinfo() zeigt ja dass die lib installiert ist. warum sollte ich dann nochmal includen? ich vermute ein versionsproblem. hab ein anderes beispiel gefunden, da kann ich zumindest mit pdf_new() eine pdf erstellen bekomme dafür aber ne andere fehlermeldung die mich auch nicht weiter bringt.

PHP:
<?php
// create handle for new PDF document
$pdf = pdf_new();
// open a file
pdf_open_file($pdf, "test.pdf");
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);
// get and use a font object
$arial = pdf_findfont($pdf, "Arial", "winansi", 0);
pdf_setfont($pdf, $arial, 0);
// print text
pdf_show_xy($pdf, "There are more things in heaven and earth, Horatio,",50, 750);
pdf_show_xy($pdf, "than are dreamt of in your philosophy", 50,730);
// end page
pdf_end_page($pdf);
// close and save file
pdf_close($pdf);
?>

nun erhalte ich folgende fehlermeldung

Code:
Fatal error: PDFlib error: Resource configuration file 'pdflib.upr' not found in /www/htdocs/w00d12df/pdf/pdf.php on line 9

was hat es hier mit dieser upr datei auf sich? sollte doch vom webspace anbieter eingerichtet sein wenn die phpinfo pdflib in version 4 anzeigt, oder?
 
Zurück