DOMPDF: PDF-Streaming nicht möglich: Header bereits gesendet

Diese Frage wurde hundertmal in verschiedenen Foren aufgeworfen; Einige wurden gelöst, andere nicht. Ich habe viele Ressourcen überprüft, mein Problem konnte jedoch nicht behoben werden. Ich generiere PHP-Seite mit Smarty-Vorlage basierend auf HTML-Formulareingabe und hochgeladenen Dateien. Mit dompdf möchte ich die generierte Seite als PDF-Datei speichern. Wenn der Benutzer die Multipart- / Formulardaten übermittelt, werden die Daten an sich selbst gesendet. Dann wird es validiert. Wenn alles in Ordnung ist, wird eine neue Seite unter Verwendung einer Vorlagendatei generiert. Es erfolgt keine Ausgabe, stattdessen verwendet dompdf die Vorlagendatei, um die PDF-Datei zu streamen. Nachdem ich mehrere Phasen von Problemen wie "DOMPDF nicht gefunden", unzureichender Arbeitsspeicher usw. gelöst habe, habe ich jetzt den Fehler "PDF kann nicht gestreamt werden: Header bereits gesendet". Eines der häufigsten Probleme ist das Vorhandensein von Zeilenumbrüchen, Leerzeichen oder anderen Ausgaben, bevor stream () aufgerufen wird. Ich habe vorher und nachher nach Leerzeichen gesucht. Es gibt auch keine print_f- oder echo-Anweisungen. Wie kann ich dieses Problem beheben? Wo liegt das Problem ... in der Smarty-Vorlagendatei oder der PHP-Datei selbst? Hier ist der Code:

require_once("dompdf/dompdf_config.inc.php");
spl_autoload_register('DOMPDF_autoload');
$html = $smarty->fetch('index.tpl');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'portrait');
$dompdf->render();
$dompdf->stream("newfile.pdf");

Antworten auf die Frage(9)

Ihre Antwort auf die Frage