[geloest] Installation von FPDF zur Erzeugung von PDF
[geloest] Installation von FPDF zur Erzeugung von PDF
Hallo User,
ich muss mich wieder mal mit einem, für mich unlösbarem, Problem melden. Ich habe eine Freie Software für eine spezielle Verwaltung erhalten und unter einem aktuellen LAMP auf einem Raspberry Pi 4 installiert. Der Support dazu hält sich sehr in Grenzen und man bekommt nur rudimentäre Schnipselchen angeboten. Viele aufgetretene Probleme konnte ich schon lösen. Jedoch bei zwei Problemen komme ich nicht weiter.
1. Drucken als PDF
2. Fehler in System log
Hier möchte aber nur das Problem drucken unter PHP eingehen. Mir wurde mitgeteilt, dass man aus der Software heraus auf das Modul von http://www.fpdf.org/ zugreift und dies normalerweise problemlos läuft. Nach Recherchen habe ich dann apt-get install php-fpdf installiert. Ohne Erfolg. Allerdings wird auch geschrieben, dass die PHP-Klasse/Bibliothek FPDF schon in die Software integriert ist. Allerdings erhalte ich bei jedem Versuch einen Ausdruck zu generieren eine leere helle HTML-Seite.
Was mache ich falsch bzw. wie muss ich vorgehen um die Ursache zu finden?
Vielen Dank.
Thomas
ich muss mich wieder mal mit einem, für mich unlösbarem, Problem melden. Ich habe eine Freie Software für eine spezielle Verwaltung erhalten und unter einem aktuellen LAMP auf einem Raspberry Pi 4 installiert. Der Support dazu hält sich sehr in Grenzen und man bekommt nur rudimentäre Schnipselchen angeboten. Viele aufgetretene Probleme konnte ich schon lösen. Jedoch bei zwei Problemen komme ich nicht weiter.
1. Drucken als PDF
2. Fehler in System log
Hier möchte aber nur das Problem drucken unter PHP eingehen. Mir wurde mitgeteilt, dass man aus der Software heraus auf das Modul von http://www.fpdf.org/ zugreift und dies normalerweise problemlos läuft. Nach Recherchen habe ich dann apt-get install php-fpdf installiert. Ohne Erfolg. Allerdings wird auch geschrieben, dass die PHP-Klasse/Bibliothek FPDF schon in die Software integriert ist. Allerdings erhalte ich bei jedem Versuch einen Ausdruck zu generieren eine leere helle HTML-Seite.
Was mache ich falsch bzw. wie muss ich vorgehen um die Ursache zu finden?
Vielen Dank.
Thomas
Zuletzt geändert von Mesquita am 29.01.2021 10:26:14, insgesamt 2-mal geändert.
Re: Installation von FPFD zur Erzeugung von PDF
Erster Schritt: Logfiles lesen, falls es keine gibt, rausfinden, wie man das Programm/PHP dazu bringt diese zu erzeugen. Falls die Logfiles nichts Hilfreiches enthalten: Logging hochdrehen, meist entsprechende Configwerte (debug/verbose/loglevel) oder Umgebungsvariablen.
Re: Installation von FPFD zur Erzeugung von PDF
Hallo Eggy,
ich sitze schon Stunden recherchiere und experimentiere. In den typischen Logs finde ich keine näher eingrenzende Fehlermeldungen. Ich habe mir ein Buch zu PHP besorgt und darin ein Kapitel zu FPDF. Schon die ersten Ansätze:
führt im Browser zur Ausgabe:
Ich finde keinen Weg um die Ursache näher eingrenzen zu können. Hast Du eine Idee?
Thomas
ich sitze schon Stunden recherchiere und experimentiere. In den typischen Logs finde ich keine näher eingrenzende Fehlermeldungen. Ich habe mir ein Buch zu PHP besorgt und darin ein Kapitel zu FPDF. Schon die ersten Ansätze:
Code: Alles auswählen
<!DOCTYPE html><html><head><meta charset="utf-8"></head><body>
<?php
require("fpdf/fpdf.php");
$pdf = new FPDF();
$pdf->SetFont("Helvetica", "B", 24);
$pdf->AddPage();
$pdf->Cell(50, 20, "Hallo Thomas");
$pdf->Output("pdf_test.pdf","I");
?>
</body></html>
Code: Alles auswählen
FPDF error: Some data has already been output, can't send PDF file
Thomas
Re: Installation von FPFD zur Erzeugung von PDF
Das liegt vermutlich daran, dass der Header bereits gesendet wurde.
Edit: Notiz an mich "erst denken, dann posten":
Es wurde der Header bereits gesendet, da Du die erste Zeile dort hast (das <html> .... ).
Versuch das mal nur mit dem php Code, komplett ohne HTML.
Edit: Notiz an mich "erst denken, dann posten":
Es wurde der Header bereits gesendet, da Du die erste Zeile dort hast (das <html> .... ).
Versuch das mal nur mit dem php Code, komplett ohne HTML.
Zuletzt geändert von eggy am 28.01.2021 17:19:24, insgesamt 1-mal geändert.
Re: Installation von FPFD zur Erzeugung von PDF
Lass mal folgende beiden Code-Blöcke weg:
undMesquita hat geschrieben:28.01.2021 16:20:18Code: Alles auswählen
<!DOCTYPE html><html><head><meta charset="utf-8"></head><body>
Re: Installation von FPFD zur Erzeugung von PDF
Hallo Eggy, hallo Bluestar...
Ihr lagt richtig mit dem Header. Der Inhalt und die Ausgabe kommen im Browser an. Die Datei stammt aus einem Buch. Da frage ich mich doch, warum der Autor im Buch dies so beschreibt? Egal, ich bin einen Schritt vorwärts gekommen. Mir geht es Hauptsächlich um den PDF-Ausdruck aus einem Programm. Darin enthalten ist fpdf und mit dem erfolgreichen Test habe ich die grundsätzliche Funktion von fpdf erfolgreich getestet.
Drucke ich aber aus dem Programm heraus, erhalte ich nur eine leere helle Browserseite, kein PDF. Der Programmierer, wenn man ihn mal erreicht, sagt, es muss gehen..
In den Log Files finde ich aber nichts. Wie könnte ich mich dem Problem weiter nähern?
Thomas
Ihr lagt richtig mit dem Header. Der Inhalt und die Ausgabe kommen im Browser an. Die Datei stammt aus einem Buch. Da frage ich mich doch, warum der Autor im Buch dies so beschreibt? Egal, ich bin einen Schritt vorwärts gekommen. Mir geht es Hauptsächlich um den PDF-Ausdruck aus einem Programm. Darin enthalten ist fpdf und mit dem erfolgreichen Test habe ich die grundsätzliche Funktion von fpdf erfolgreich getestet.
Drucke ich aber aus dem Programm heraus, erhalte ich nur eine leere helle Browserseite, kein PDF. Der Programmierer, wenn man ihn mal erreicht, sagt, es muss gehen..
In den Log Files finde ich aber nichts. Wie könnte ich mich dem Problem weiter nähern?
Thomas
Re: Installation von FPFD zur Erzeugung von PDF
Loglevel hochdrehen
Re: Installation von FPFD zur Erzeugung von PDF
Ich habe in der php.ini Error auf All gesetzt und bekomme im Browser nun folgende Ausgabe beim Drucken:
In der Zeile 39 der aufgeführten Datei steht:
Kann man was damit anfangen?
Thomas
Code: Alles auswählen
Warning: require_once(/var/www/html/stell/mandant/CAIPERA/pdf_1.inc.php): failed to open stream: No such file or directory in /var/www/html/stell/pro_pr_dt.php on line 39
Fatal error: require_once(): Failed opening required '/var/www/html/stell/mandant/CAIPERA/pdf_1.inc.php' (include_path='.:/usr/share/php') in /var/www/html/stell/pro_pr_dt.php on line 39
Code: Alles auswählen
require_once($pfad.$pdf_datei);
Thomas
Re: Installation von FPDF zur Erzeugung von PDF
Ohne eine Ahnung zu haben, aus der FAQ http://www.fpdf.org/en/FAQ.php#q2
Warning: Cannot modify header information - headers already sent by (output started at script.php:X)
It means that script.php outputs something at line X. Go to this line and fix it. In case the message doesn't show, first check that you didn't disable warnings, then add this at the very beginning of your script:
ob_end_clean();
If you still don't see it, disable zlib.output_compression in your php.ini and it should appear.
Re: Installation von FPFD zur Erzeugung von PDF
Vielleicht. Der versucht ne Datei einzubinden, die er nicht hat oder auf die er nicht zugreifen darf.
a) nachsehn, ob die Datei da ist
b) Berechtigungen prüfen
[geloest] Installation von FPDF zur Erzeugung von PDF
Hallo Eggy, hallo letzter3,
vielen Dank für Eure Hinweise und vor allem der Motivation nicht entnervt aufzugeben. Da der Druck mit einfachem Skript funktionierte, konzentrierte ich mich auf die Programmierung/Quellcode der Software. Aus dem letzten Fehler-Log fiel mir ein Verzeichnis auf, was es so nicht gab. Dabei handelt es sich um den Mandanten innerhalb der Software. Zu Beginn habe ich den vorinstallierten Mandanten auf Hinweis vom Entwickler innerhalb der Software geändert und dabei auch Großbuchstaben verwendet. Allerdings wurde dabei nicht berücksichtigt, dass bei einer Namensänderung die Verzeichnisstruktur nicht angepasst wird, was nur bei einer Neuanlage vom Mandanten der Fall ist. Als Letztes stellte ich dann fest, dass aus der Software heraus nur Kleinbuchstaben umgesetzt werden. Also das noch geändert und voilà, der Druck funktioniert.
Ich wäre so schnell nie darauf gekommen, wenn ich den error_log nicht auf All gesetzt hätte. Danke für den Tipp. Den werde ich nicht mehr vergessen.
Vielen Dank. Bleibt schön gesund und aktiv für alle die noch Probleme hier im Forum haben.
Thomas
vielen Dank für Eure Hinweise und vor allem der Motivation nicht entnervt aufzugeben. Da der Druck mit einfachem Skript funktionierte, konzentrierte ich mich auf die Programmierung/Quellcode der Software. Aus dem letzten Fehler-Log fiel mir ein Verzeichnis auf, was es so nicht gab. Dabei handelt es sich um den Mandanten innerhalb der Software. Zu Beginn habe ich den vorinstallierten Mandanten auf Hinweis vom Entwickler innerhalb der Software geändert und dabei auch Großbuchstaben verwendet. Allerdings wurde dabei nicht berücksichtigt, dass bei einer Namensänderung die Verzeichnisstruktur nicht angepasst wird, was nur bei einer Neuanlage vom Mandanten der Fall ist. Als Letztes stellte ich dann fest, dass aus der Software heraus nur Kleinbuchstaben umgesetzt werden. Also das noch geändert und voilà, der Druck funktioniert.
Ich wäre so schnell nie darauf gekommen, wenn ich den error_log nicht auf All gesetzt hätte. Danke für den Tipp. Den werde ich nicht mehr vergessen.
Vielen Dank. Bleibt schön gesund und aktiv für alle die noch Probleme hier im Forum haben.
Thomas
Zuletzt geändert von Mesquita am 29.01.2021 10:25:25, insgesamt 1-mal geändert.
Re: Installation von FPDF zur Erzeugung von PDF
Schön, dass sich das so schnell lösen lies, ich hatte schon schlimmeres befürchtet
Du kannst übrigens Dein oberstes Posting editieren und ein "[geloest]" oder sowas in den Threadtitel einfügen. Hilft anderen Suchenden
Du kannst übrigens Dein oberstes Posting editieren und ein "[geloest]" oder sowas in den Threadtitel einfügen. Hilft anderen Suchenden