phpexcel pdf-rendering-Bibliothek wurde nicht definiert
Nach dem Versuch und nicht um PDFs erzeugen mit PHPExcel 1.7.6 (out of memory-Fehler), habe ich ein Upgrade auf 1.7.8. Ich kann nicht für das Leben von mir herauszufinden, wie es funktioniert. Ich habe versucht, tcPDF und mPDF, und es ist das gleiche für beide.
Setzen es zurück zur Excel-Ausgabe kann ich sehen, ich werde den Pfad richtig. Alle die ich bekomme ist "PDF-Rendering-Bibliothek wurde nicht definiert", und ich kann nicht herausfinden, was er will - ich habe versucht 'mPDF5.4', 'MPDF54' (der eigentliche name des Ordners selbst), 'mpdf', 'mpdf.php'...jedes mal gleich.
Habe ich mit PHPExcel seit über einem Jahr, bin also nicht ganz neu. Ich habe viel mehr Zeit, als ich wohl zugeben, auf dieses problem, und ich habe nicht gefunden das beschriebene problem überall, also ich hab das Gefühl mehr als ein wenig dumm, dass ich anscheinend der einzige zu sein, der nicht dies herauszufinden.
Den eigentlichen code, den ich verwende, ist folgende:
ini_set('include_path', ini_get('include_path').'\\Classes\\');
$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibrary = 'mPDF5.4';
$rendererLibraryPath = ini_get('include_path') . $rendererLibrary;
(Das ist ziemlich gut, eine Kopie der Beispiel-code.)
Im Interesse der Vollständigkeit, der Header, die ich verwende sind
echo header("Content-Type: application/pdf");
echo header("Content-Disposition: attachment; filename=".$filename.".pdf" );
echo header('Cache-Control: max-age=0');
Diese in der Nähe der Anfang der Datei, natürlich.
In der Nähe des Ende der Datei, der Ausgabe-code ist
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->save('php://output');
InformationsquelleAutor Bendustries | 2013-02-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe es funktioniert. Viel wie ich möchte sagen, ich hatte einen Durchbruch und verstehen es perfekt, ich habe keine Ahnung wie ich es geschafft habe. Jedoch, in der Hoffnung, es könnte jemand helfen, lassen Sie mich darlegen, was ich getan habe.
Mir läuft XAMPP auf Windows. Meine Datei-Struktur hat den Ordner für PHPExcel selbst in xampp\php\PEAR\Classes. domPDF ist im gleichen Ordner, und ich nannte es 'dompdf'.
Aus Gründen, die ich nicht mehr erinnere, habe ich den include-Pfad in etwa so:
Festlegen den rendering-Pfad, die ich verwendet die folgenden:
Für die tatsächliche Autor der Schöpfung, ich bin mit dem folgenden:
Eine Sache, die ich bemerkt, dass vielleicht die Dinge anders war, dies zu tun:
Ist, anders als alles, was ich getan habe, in PHPExcel, ich bin nicht wie nichts aus der Schriftsteller-Ordner überhaupt. Am besten, ich kann mich erinnern, dass alles, was ist diesmal anders im Vergleich zu einer Woche, wenn ich die Frage gestellt habe. Nachdem ich ergriff die 01simple-download-pdf.php Datei aus dem Ordner "Tests" in 1.7.8, war es vor allem eine Frage der kopieren Sie den code aus und optimieren es für meine Pfade.
Zusammenfassen lassen $rendererName allein. Die $rendererLibrary ist der name des Ordners, der die Bibliothek enthält, 'dompdf' in meinem Fall. Die $rendererLibraryPath ist buchstäblich Einstellung den Pfad zu diesem Ordner, so dass es endet mit dem Pfad, enthält die pdf-library-Ordner.
Sollte es offensichtlich sein, dass ich keine uber-leet hax0r, aber das hat SO beantworteten viele, viele Fragen zur Programmierung für mich. Ich hoffe, dies hilft jemand anderem, so dass Sie nicht verschwenden Stunden wie ich.
hi, ich habe Probleme mit der render-Pfad zu. Der Weg zu dem, was, was sollte ich auch?
Es will den Weg, dass Ihr pdf-renderering-Bibliothek an. Das heißt, in meinem Beispiel oben, unter XAMPP, ich habe XAMPP auf dem root installiert von H:\. Für PHP, meine include-Pfad ist \php\pear, die ich Anhängen \Classes. Innerhalb von \Classes lebt die dompdf-Verzeichnis. So ist der vollständige Pfad in Windows H:\xampp\php\pear\Classes\. In Ihrem Skript, die Sie gerade benötigen, um Ihr
$rendererLibraryPath
Sie zu dem Ordner, enthält die renderer-Bibliothek-Verzeichnis.danke für die Antwort. Zum Glück konnte ich es verstanden vielen Tagen, so dass ich nun das es funktioniert hat 🙂
InformationsquelleAutor Bendustries
Den PHPOffice enthält auch PHPWord. Ich hatte die gleiche Fehlermeldung mit PHPWord. Diese ist für LINUX. Ein Ersatz von "PhpWord" durch "PhpExcel" sollte den job tun, für diesen Fall. Sie müssen ändern Sie den Pfad $rendererLibraryPath auf Ihre Bedürfnisse.
InformationsquelleAutor Franz Holzinger
Wenn Sie diese Fehlermeldung bekommen und Sie haben den richtigen Pfad zu der TCPDF-oder DOMPDF Ordner (Sie müssen nicht zu schreiben, den vollständigen Pfad), dann auch sicherstellen, dass Sie diese Zeilen:
InformationsquelleAutor cyadron