pdflib - mysql

TheMike

Mitglied
ich hab das pdflib-lib tutorial angeguckt und soweit klappt auch alles.
aber wo ich probleme habe:

in dem tut werden die ausgabetexte immer direkt in der php-datei definiert
pdf_show_xy($doc,'Text','55','500');

aber was ist, wenn ich die daten dynamisch erstellen möchte und die daten aus der mysql-datenbank kommen sollen?

wenn ich ne datenbank-abfrage in der php-datei einbaue, in der auch das pdf erstellt wird, kommen wüste fehlermeldungen ...
und auch nur, wenn ich eine andere datei per include einbinde klappt das pdf nicht mehr.

geht das gar nicht so oder wie muss ich das aufbauen?

thx a lot
 
oi ... sorry ... wollt nur ma fragen, ob das überhaupt geht ...

die pdf erstellen geht ja.

aba wenn ich zb nur n include mach, funztz nimmer

so fängt die php an:

<?php

include("../dblib.inc");

//Erstellen des PDF-Objektes
$doc = pdf_new();

//Erstellen des neuen Dokumentes innerhalb des Objektes
pdf_open_file($doc);
...

dann kommt dat:

Warning: Cannot add header information - headers already sent by (output started at C:\FoxServ\www\poggenpohl\dblib.inc:16) in C:\FoxServ\www\poggenpohl\test\format_test.php on line 51

Warning: Cannot add header information - headers already sent by (output started at C:\FoxServ\www\poggenpohl\dblib.inc:16) in C:\FoxServ\www\poggenpohl\test\format_test.php on line 52

Warning: Cannot add header information - headers already sent by (output started at C:\FoxServ\www\poggenpohl\dblib.inc:16) in C:\FoxServ\www\poggenpohl\test\format_test.php on line 53
%PDF-1.3 %ä??? 5 0 obj <> stream x?s á?w3P04QI?2T0BCSSS??\.?¸?FHjE?fH?kö? ?endstream endobj 6 0 obj 53 endobj 4 0 obj <> endobj 8 0 obj <> >> endobj 3 0 obj <> endobj 7 0 obj <> endobj 9 0 obj <> endobj 1 0 obj <> endobj 2 0 obj <> endobj xref 0 10 0000000000 65535 f 0000001894 00000 n 0000001948 00000 n 0000000320 00000 n 0000000157 00000 n 0000000015 00000 n 0000000139 00000 n 0000000530 00000 n 0000000260 00000 n 0000001730 00000 n trailer <<51CF84E974E929E0C5310BEE89CF2EF9>] >> startxref 1995 %%EOF

und in den zeilen 51 bis 53 is das:

//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=tutorial.pdf");
 
Zuletzt bearbeitet:
also die include gibt darum nüx aus, weil da keine ausgabe enthalten ist. aber die fehlermeldungen betreffs "headers already sent" beunruhigt mich mehr.
 
Wie schön das PHP anderer Meinung ist :-)

headers already sent

kann nur komme weil was ausgegeben wurde

wie gesagt es reicht schon ein leerzeichen oder leerzeichen vor dem <?

PHP:
<? # kein fehler
 <? # fehler
 
ahja ... inzwischen hab ich das problem umschifft:

ich trenne die mysql-abfrage mit der erstellung des pdf von dem öffnen der selben datei.

dh vom prinzip her:

1. datei abfrage.php
- mysql-abfrage
- definieren der pdf-elemente (php-variablen als text, linien usw)
- speichern der pdf-datei
- link zu pdf.php

2. datei pdf.php
<?php
$fp = fopen($filename, "r");
header("Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
?>

feddich

hmm ... so weit so gut ... aber natürlich tauchen schon die näxten fehlermeldungen auf. und das schöne daran is: sie sind komplett unlogisch. die fehlermeldung heisst beim öffnen der pdf-datei jeweils: die datei ist beschädigt und kann nicht repariert werden.
spassigerweise ist die datei aber nicht defekt und kann problemlos geöffnet werden, wenn ich zb eine text-positionierung um einen pixel verschiebe oder in der datenbank einen eintrag ändere, der dann in der pdf-datei verwendet wird. aber auch nicht immer ...

kurz gesagt: dat is ne ziemliche sch***** ...

hat jemand erfahrung mit dem erstellen von pdf aus einer mysql-db mittels php? kennt jemand das problem mit der fehlermeldung oder hat gar ne lösung dafür?

thx a lot
 
Zurück