PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pdf mit php erzeugt und lässt sich nicht öffnen


R32
01.03.2007, 20:17:21
Hallo

ich wieder mal
habe es endlich geschafft ein pdf dok zu erzeugen mittels php
aber ich kann es nicht öffnen
da kommt die fehlermeldung ungültige dateityp

an was liegt das
ich habe den acrobatreader 7.0


mfg

feuervogel
01.03.2007, 20:24:03
meine glaskugel sagt: "fehler beim erzeugen"

|Coding
01.03.2007, 20:25:42
Dann hast Du es scheinbar doch nicht geschaft...

R32
01.03.2007, 20:34:24
hat vielleicht irgendwer ein kleines beispielprogramm das funktioniert
ich habe eins aus der hilfe von selfhtml
aber irgendwie lässt sich das nicht öffnen



mfg kausler

rarios
01.03.2007, 22:05:22
äh
hat vielleicht irgendwer ein kleines beispielprogramm das funktioniert
ich habe eins aus der hilfe von selfhtml
aber irgendwie lässt sich das nicht öffnen


ich dachte du hast n eigenes geschrieben.
naja egal...

um dir helfen zu können müssen wir aber erstmal deinen code sehen also poste doch einfach mal dein script und wir sehen weiter.

denn ohne deinen code kann feuervogel leider nur in seine glaskugel schauen ;-)

R32
01.03.2007, 22:15:45
hier der programmcode


<?php
$datei = fopen("testdok2.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 200, 200);
pdf_set_font($dokument, "Arial", 24, "host");
pdf_set_text_pos($dokument, 100, 100);
pdf_show($dokument, "Ihr erster Text im Dokument");
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>


Die Fehlermeldung von adobe reader konnte nicht geöffnet werden da der Dateityp nicht unterstützt oder die Datei beschädigt ist


mfg

Heinrich
02.03.2007, 00:11:32
welche pdf-class verwendest du denn?

eigentlch müsste es reichen, wenn du die Datei mit klick auf einen Link öffnest...

feuervogel
02.03.2007, 09:40:09
er verwendet pdflib...

meikel (†)
02.03.2007, 13:42:53
hier der programmcode
Huch? Aktuelle PDFlib und aktuelle PHP Version vorausgesetzt, stirbt Dein Script schon in der 2. Zeile.

http://de3.php.net/manual/de/ref.pdf.php

R32
02.03.2007, 15:00:01
hallo

und warum wenn ich fragen darf
ich benutze die pdflib
wenn ich das beispiel nehme auf der http://de3.php.net/manual/de/ref.pdf.php seite erstellt er nicht einmal ein pdf

|Coding
02.03.2007, 15:05:39
Hast Du PHP5 oder PHP4 laufen?

R32
02.03.2007, 15:21:27
php 5.2.1
mit dem xampp

|Coding
02.03.2007, 15:26:04
Hast Du den auch das PHP5-Beispiel verwendet?

R32
02.03.2007, 15:42:36
ja da erzeugt er kein pdf
ich hab in die php.ini
extension=php_pdf.dll hieneingeschrieben
und im ordner extension ist es auch vorhanden
das vorrige beispiel mit was ich euch gezeigt habe das erzeugt er aber ich kann es nicht öffnen
das beispiel auf der oben genannten seite da erzeugt er nicht einmal was

mfg

meikel (†)
02.03.2007, 16:20:20
und warum wenn ich fragen darf
Deshalb:
$dokument = pdf_open($datei);

PHP hätte Dir da notgedrungen sagen müssen, daß es die Funktion pdf_open() nicht gibt.

Hier ein PHP5 Beispiel aus dem Handbuch:
Zudem wurden in PHP 5 Exceptions eingeführt. Diese werden von PDFlib ab Version 6 ebenfalls unterstützt.
<?php

try {
$p = new PDFlib();

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

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

$p->begin_page_ext(595, 842, "");

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

$p->setfont($font, 24.0);
$p->set_text_pos(50, 700);
$p->show("Hello world!");
$p->continue_text("(says PHP)");
$p->end_page_ext("");

$p->end_document("");

$buf = $p->get_buffer();
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello.pdf");
print $buf;
}
catch (PDFlibException $e) {
die("PDFlib exception occurred in hello sample:\n" .
"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
$e->get_errmsg() . "\n");
}
catch (Exception $e) {
die($e);
}
$p = 0;
?>

R32
02.03.2007, 16:31:14
wenn ich diesen quellcode verwenden
erzeugt er mir nicht einmal das pdf mehr bringt auch keine fehlermeldung

meikel (†)
02.03.2007, 16:36:10
wenn ich diesen quellcode verwenden
erzeugt er mir nicht einmal das pdf mehr bringt auch keine fehlermeldung
1. Die Fehlerausgabe solltest Du schon mal einschalten.
2. das Script erzeugt ein PDF Dokument und schickt es zum Client.

Wie Du dem Schnipsel entnehmen könntest, kommt entweder PDF oder eine Fehlermeldung:
try {
$p = new PDFlib();
...

}
catch (PDFlibException $e) {
die("PDFlib exception occurred in hello sample:\n" .
"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
$e->get_errmsg() . "\n");
}
catch (Exception $e) {
die($e);
}


btw: was ich nicht verstehe ist: Du kaufst Dir die PDF Bibliothek für 700 Mücken und kannst nicht damit umgehen?

R32
02.03.2007, 16:47:15
ich habe sie mir nicht gekauft
sonder ist die kostenlose von pdflib.com
die ist halt eingeschränkt

mfg

R32
02.03.2007, 17:18:13
also eine fehlermeldung kommt nicht bzw es kommt nur ein weißer bildschirm
und das pdf aus den vorrigen beispiel wird auch nicht angelegt

was kann ich gegen den weißen bildschirm machen

mfg

R32
02.03.2007, 18:01:45
hier mal die fehlermeldung in der log datei von apache

PHP Fatal error: Class 'PDFlib' not found in C:\\Programme\\xampp\\htdocs\\test\\pdftest.php on line 4, referer: http://localhost/test/index.html

sysop
02.03.2007, 18:34:35
ja da erzeugt er kein pdf
ich hab in die php.ini
extension=php_pdf.dll hieneingeschrieben
und im ordner extension ist es auch vorhanden
das vorrige beispiel mit was ich euch gezeigt habe das erzeugt er aber ich kann es nicht öffnen
das beispiel auf der oben genannten seite da erzeugt er nicht einmal was

mfg

gibt es denn eine php_pdf.dll, schreib doch mal den pfad dazu.
lass dir doch nicht alles aus der nase popeln, info ist das halbe leben, sonst kann man nicht helfen.