PDFs mit PHP erzeugen [gelöst]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
oops
Beiträge: 19
Registriert: 26.08.2003 13:37:31

PDFs mit PHP erzeugen [gelöst]

Beitrag von oops » 22.08.2005 11:30:55

Hallo Forum,

ich möchte PDFs mit PHP erzeugen. Ich habe php-fpdf installiert, allerdings erhalte ich beim erzeugen der PDF-Datei die Fehlermeldung:

Code: Alles auswählen

Fatal error: Call to undefined function: pdf_new() in click_me.php on line 3
Mein Script sieht wie folgt aus:

Code: Alles auswählen

<?php

$pdf = pdf_new(  );
pdf_open_file( $pdf );
pdf_set_info( $pdf, 'Creator', 'my Editor' );
pdf_set_info( $pdf, 'Author', 'Michi' );
pdf_set_info( $pdf, 'Title', 'Hello world (PHP)' );
pdf_begin_page( $pdf, 612, 792 );

$font = pdf_findfont( $pdf, 'Helvetica-Bold', 'host', 0 );
pdf_setfont( $pdf, $font, 38.0 );
pdf_show_xy( $pdf, 'Hello world!', 50, 700 );

pdf_end_page( $pdf );
pdf_set_parameter( $pdf, "openaction", "fitpage" );
pdf_close( $pdf );

$buf = pdf_get_buffer( $pdf );
$len = strlen( $buf );
header( 'Content-Type: application/pdf' );
header( "Content-Length: $len" );
header( 'Content-Disposition: inline; filename=myfirsttry.pdf' );
echo $buf;
pdf_delete( $pdf );

 ?>
Habe ich vielleicht noch was anderes vergessen zu installieren, oder hat jemand eine andere Idee, wie ich trotzdem noch zu meinem PDF komme?

Danke im voraus.
Zuletzt geändert von oops am 23.08.2005 10:42:11, insgesamt 1-mal geändert.
Nur tote Fische schwimmen mit dem Strom.

chschulo
Beiträge: 29
Registriert: 16.02.2005 10:06:59
Wohnort: Sankt Augustin

Beitrag von chschulo » 22.08.2005 13:50:13

Hallo,
fpdf ist eine Klasse und muß am Anfang des Scripts eingebunden werden.
Hierzu bitte am Anfang des Scripts folgendes einfügen:

Code: Alles auswählen

require('fpdf.php');
Natürlich must Du schauen ob dort die Datei vorhanden ist. Sonst must du den Pfad anpassen.

Gruß
Christian

Benutzeravatar
oops
Beiträge: 19
Registriert: 26.08.2003 13:37:31

Lösung

Beitrag von oops » 23.08.2005 10:41:34

Hi chschulo,

Also ich hatte da was durcheinander gebracht. Das Script oben nutzt PDFlib, nicht fpdf *g*

Deswegen ging's auch mit

Code: Alles auswählen

require('fpdf.php');
nicht. Gut, das war mein erster Versuch ein PDF mit PHP zu basteln. Man möge es mir nachsehen *lach*
Nachdem ich die libpdf_php.so aus dem PDFlib-tarball von PDFlib.com nach /usr/lib/php4/20020429 (ich nutze Sarge) kopiert habe und in der /etc/php4/apache/php.ini noch

Code: Alles auswählen

extension=libpdf_php.so
eingetragen habe, lief's dann. Vielleicht helfen die Infos ja jemandem, der sich auch das erste Mal an "PDFs über PHP" versuchen will.

Trotzdem danke für deine schnelle Antwort :)

¡chao!
Nur tote Fische schwimmen mit dem Strom.

roeschuxxx
Beiträge: 58
Registriert: 01.02.2006 17:04:52

Beitrag von roeschuxxx » 10.03.2006 13:39:05

oh ja, danke danke....mir hilfts


so muss es sein, wenn etwas gelöst ist eine Lösungsbeschreibung hinzufügen...

grüsse

Spoiler
Beiträge: 179
Registriert: 03.08.2006 12:44:12

Beitrag von Spoiler » 23.11.2006 12:46:01

an der Stelle muss ich aber dann nochmal nachhaken:

Ich habe alles wie oben beschrieben nachvollzogen. phpinfo() zeigt mir auch den PDF-Support als Enabled an und bringt auch die richtige Binary-Version.

Scheint also soweit alles zu passen.

Wenn ich nun aber einfach mal zum Testen das Script oben ausführe, funktioniert das nicht:
Warning: pdf_open_file() expects exactly 2 parameters, 1 given in /var/www/virtual/paf/htdocs/test.php on line 4

Fatal error: pdf_begin_page(): [2100] PDF_begin_page: Function must not be called in 'object' scope in /var/www/virtual/paf/htdocs/test.php on line 8
Auch gibt es unter http://www.dynamicwebpages.de/50.tutori ... orialID=11 ein Tutorial dazu.
Dort wird simple als Einstieg ein leeres PDF erzeugt mit:

Code: Alles auswählen

<?php
$fd = fopen("test1.pdf", "w");
$pdfdoc = pdf_open($fd);
pdf_begin_page($pdfdoc, 421, 595);
pdf_end_page($pdfdoc);
pdf_close($pdfdoc);
fclose($fd);
?>
Aber auch das bringt Fehler:
Fatal error: Call to undefined function: pdf_open() in /var/www/virtual/paf/htdocs/test.php on line 3
Hat jemand eine Vorstellung, was ich falsch mache?

Danke

Gruß

Spoiler

Antworten