PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘PDF’ tag

Performance des Silent-Operators und session_status()

with 7 comments

So, heute gibts erneut eine digitale Version von zwei PHP-Magazin-Artikeln, die ich Anfang des Jahres verfasst habe. Beide sind in der goldenen Ausgabe zur neuen PHP Version 5.4 erschienen.

Der erste Artikel (PDF) untersucht die Änderungen am Silent-Operator @ (auch Fehler-Kontroll-Operator oder “Shut up” Operator genannt), den man vor Ausdrücke schreiben kann um Warnungen zu unterdrücken. Mit 5.4 wurde die Performance verbessert wenn er in großer Anzahl, sprich innerhalb von Schleifen, genutzt wurde. Auch macht der Artikel noch mal klar dass er wenn möglich nicht genutzt werden sollte, denn selbst das Schreiben in das PHP ErrorLog kostet Zeit, die man sich in den meisten Fällen sparen kann. Im Artikel werden unter anderem die Einsatzgebiete, die Scream-Extension und Benchmarks betrachtet.

Der zweite Artikel (PDF) ist ein sehr kurzer, und es wird in wenigen Absätzen die neue Funktion session_status() vorgestellt. Ein kleines Beispiel verdeutlicht die Nutzung, die anhand des Manuals vielleicht nicht direkt erkennbar ist.

Written by Michael Kliewe

Dezember 4th, 2012 at 10:20 am

PDFs dynamisch generieren: viele Möglichkeiten

with 34 comments

Oft hat man eine Webseite in die man auch eine Export-Möglichkeit einbauen möchte, scheut aber den großen Aufwand, PDFs etc. zu generieren. Doch es gibt auch einfache schnelle Lösungen, die meistens ausreichen. Hier möchte ich einige im Überblick aufzählen.

  • Einfach HTML nehmen und daraus ein PDF basteln. Viele Daten, die wir bereits auf der Webseite darstellen, sollen so oder ähnlich in das PDF fließen. Mit geeigneter Strukturierung verhindert man somit doppelten Code. Meine aktuellen Lieblinge für diese Aufgabe sind dompdf und WkhtmlToPDF (siehe Blogartikel). Es gibt aber noch einige mehr, beispielsweise mPDF, das intern FPDF und HTML2FPDF nutzt. Ein älterer Vertreter dieser Spezies ist HTML_ToPDF. Doch diese Lösungen haben einige Probleme, beispielsweise hängt die Ausgabe häufig stark von den Daten ab: HTML ist nicht seitenorientiert, sodass es sehr schwer sein kann ein mehrseitiges PDF zu erzeugen (wo der Seitenumbruch an der korrekten Stelle ist). Auch lässt die Unterstützung von CSS oder nicht-W3C-konformen HTML häufig zu wünschen übrig. Für einfache Einseiter jedoch gut geeignet.
    <?php
    require_once("dompdf_config.inc.php");
    
    $html =
      '<html><body>'.
      '<p>Put your html here, or generate it with your favourite '.
      'templating system.</p>'.
      '</body></html>';
    
    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    $dompdf->stream("sample.pdf");

Weiterlesen »

Written by Michael Kliewe

August 12th, 2011 at 12:16 pm

Posted in PHP

Tagged with , , , , ,