Ankündigung

Einklappen
Keine Ankündigung bisher.

Speicherproblem html2pdf

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Speicherproblem html2pdf

    Hallo,

    ich lasse mittels SQL einen Serienbrief erstellen, speichere den Inhalt in einer Datei, um mit html2pdf ein PDF daraus erstellen zu lassen.
    Die HTML Datei, die als Quelle für html2pdf dient kann bis zu 3MB groß werden, und das genau ist das Problem. Auf meinem Localhost muss ich dann bis zu 2 Minuten warten bis das PDF ausgeliefert wird, bei Strato bekomme ich natürlich "Internal Server Error", trotz ini_set("max_execution_time","false"); und ini_set('memory_limit', '32M');.

    Nun die Frage, lässt sich die Umwandlung einer großen HTML Datei in ein PDF auch anders bzw. nicht so Speicherintensiv lösen?

    PHP-Code:
    <?
    ini_set("max_execution_time","false");
    ini_set('memory_limit', '32M');
    ob_start();
    echo file_get_contents("../../temp/index_text.php");
    $content  = ob_get_clean();
    require_once(dirname(__FILE__).'/html2pdf.class.php');
    $html2pdf = new HTML2PDF('P','A4','de');
    $html2pdf->pdf->SetDisplayMode('fullpage');
    $html2pdf->WriteHTML($content, isset($_GET['vuehtml']));
    $html2pdf->Output('serienbrief.pdf', 'D');
    ?>

  • #2
    Hallo,

    warum schreibst du mit TCPDF oder FPDF nicht gleich eine Datei, ohne dem Umweg über HTML? Das ist sicher performanter...
    Tutorials zum Thema Technik:
    https://pilabor.com
    https://www.fynder.de

    Kommentar


    • #3
      PHP-Code:
      ini_set("max_execution_time","0"); 
      aber wirst du keine rechte zu haben...
      </span></span>
      Under Construktion

      Kommentar


      • #4
        Zitat von Registrierer Beitrag anzeigen
        Auf meinem Localhost muss ich dann bis zu 2 Minuten warten bis das PDF ausgeliefert wird, bei Strato bekomme ich natürlich "Internal Server Error", trotz ini_set("max_execution_time","false"); und ini_set('memory_limit', '32M');.
        Ein "internal server error" hat aber nichts mit der Maximallaufzeit oder Speicherbedarf eines Scriptes zu tun und wird durch Überschreitung dieser Grenzen auch nicht ausgelöst...
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          @ Andreas
          Weil ich das PDF nicht statisch halten kann sondern vom Anwender Bilder eingefügt, verschiedene Schriftarten- und Größen verwendet werden usw.
          Er will Text wie in Word formatieren und ausgeben, das geht mit FPDF leider nicht dynamisch.

          @Hu5eL
          bringt leider nichts, html2pdf ist einfach zu Resourcenhungrig.

          @lstegelitz

          Warum läuft dann das Script mit kleineren Dateien und der "500er" wird erst bei größeren Dateien verursacht?
          Laut Strato Technik hat das sehr wohl etwas mit der Datenmenge zu tun, und es ist auch auf meinem lokalen Rechner reproduzierbar.

          HTML2PDF ist für meine Anwendung warscheinlich nicht die richtige Wahl.

          Kommentar


          • #6
            Hi,

            ich mach sowas dynamisch mit RTF und konvertiere dann die Datei in PDF über eine Schnittstelle. Den Anbieter kann ich hier nicht nennen da es sich um eine inoffizielle Schnittstelle handelt.

            Bei Interesse kontaktiere mich, hab auf meiner HP auch die Möglichkeit das mal zu testen.

            Gruß Sven

            Kommentar


            • #7
              Zitat von Registrierer Beitrag anzeigen
              @lstegelitz

              Warum läuft dann das Script mit kleineren Dateien und der "500er" wird erst bei größeren Dateien verursacht?
              Laut Strato Technik hat das sehr wohl etwas mit der Datenmenge zu tun, und es ist auch auf meinem lokalen Rechner reproduzierbar.
              Dann würde ich anfangen, die LOG Dateien des Webservers zu untersuchen!

              Wenn PHP der Speicher ausgeht, quitiert es dies mit einem Fatal error, überschrittene Laufzeit ebenso... da DARF der Webserver einfach nicht abstürzen!

              Sieht eher so aus, daß das html2pdf Modul buggy ist und bei zu großen Datenmengen streikt - da hilft aber auch keine PHP Einstellung.
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Zitat von sven_b Beitrag anzeigen
                Hi,
                ich mach sowas dynamisch mit RTF und konvertiere dann die Datei in PDF über eine Schnittstelle. Den Anbieter kann ich hier nicht nennen da es sich um eine inoffizielle Schnittstelle handelt.
                Gruß Sven
                Interessieren tut mich das schon, nur könnte ich das eh nicht verwenden wenn nicht alles auf meinem Server läuft und die Zuverlässigkeit nicht annähernd garantiert werden kann.
                Aber RTF ist eine Idee, hab ich mich noch gar nicht mit beschäftigt, weiss aber das es geht.
                Gibt es da Eurerseits Erfahrungen wie man am effektivsten große HTML Dokumente nach RTF portiert?

                Kommentar

                Lädt...
                X