Martin: FPDF, erste Gehversuche

Hallo zusammen,

ich habe gerade fpdf v1.51 zur Erstellung von pdf-Files gefunden und war gleich ganz begeistert. Mein erster Versuch läuft gerade aber etwas schief.

Ich habe eine php-Datei erstellt:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF">

<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');

$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

</body>
</html>

In das gleiche Verzeichnis habe ich fpdf.php und fpdf.css geladen sowie das Unterverzeichnis 'font' mit den Schriften angelegt. Alles ist bei 1und1 gehostet (Premium-Paket).

In Vorfreude auf ein pdf-Dokument mit 'Hello World' erhielt ich folgende Fehlermeldung:

Warning: Cannot add header information - headers already sent by (output started at /homepages/29/d72282833/htdocs/php/pdf/pdf.php:9) in /homepages/29/d72282833/htdocs/php/pdf/fpdf.php on line 998
FPDF error: Some data has already been output to browser, can't send PDF file

Kann mir jemand sagen, was ich da falsch mache?

Martin

  1. Moin!

    In Vorfreude auf ein pdf-Dokument mit 'Hello World' erhielt ich folgende Fehlermeldung:

    Warning: Cannot add header information - headers already sent by (output started at /homepages/29/d72282833/htdocs/php/pdf/pdf.php:9) in /homepages/29/d72282833/htdocs/php/pdf/fpdf.php on line 998
    FPDF error: Some data has already been output to browser, can't send PDF file

    Ein typischer Fehler, der hier allmählich zur FAQ mutiert.

    PHP gibt dir zu verstehen, dass in der Datei fpdf.php eine header-Funktion eingesetzt wird und scheitert, weil vorher schon HTTP-Body (also im Allgemeinen HTML-Text) ausgegeben wurde. Das ist anhand deines Codebeispieles ja auch deutlich zu sehen: Du gibst <head> und <body> aus, und im <body> selbst erstellst du dann ein PDF.

    Schau in die Dokumentation zu fpdf, um herauszufinden, wie man es einsetzt. Vermutung: Dein PHP-Skript erzeugt direkt ein PDF und gibt es an den Browser aus. Dann darfst du natürlich keinerlei HTML vorher oder nachher ausgeben!

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
    1. Danke !!!

      Es funktioniert.

      Martin