PHP Frage, Tabelle in einer PDF Datei ausgeben

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.305
Hallo Leute, ich wollte mal fragen ob es noch andere Techniken / Methoden neben FPDF, TCPDF oder jsPDF (jQuery) gibt um eine simple Tabelle in einer PDF Datei ausgeben zu können!?

Der Plan ist es, selektierte Kundendaten (Name der Firma inkl. Anschrift) die in einer bereits vorhandenen MySQL Datenbank existieren, in einer Tabelle (zwei Einträge pro Zeile) darstellen zu lassen, um diese hinterher auf einem A4 Bogen mit Etiketten drucken lassen zu können.

FPDF und TCPDF kenne ich auch aus dem Büro, dieses verwenden wir um von dort Anschreiben erstellen zu können, nun versuche ich aber gerade mit cell() und multicell() eine Vorlage für einen Bekannten aufbauen zu können, damit er seine Daten als PDF heraus ziehen und dann direkt auf den Etiketten Bogen drucken zu können. Als Alternative habe man ihm einen Excel Export + Word Serienbrief vorgeschlagen, es kam aber die Idee ob man das nicht alles aus seinem damals selbst aufgebauten Adressen System erledigen könnte.

Da sind mir halt FPDF und TCPDF eingefallen, aber irgendwo hab ich einen Denkfehler und bekomme die Felder nicht auf 50% Breite skaliert und dann nebeneinander. Ich hatte auch schon von TCPDF eine Anleitung für eine Tabelle gefunden mit Hilfe einer weiteren Klasse, da hatte er aber Text über Text gelegt und nicht mehrere Zeilen erstellt und dort die Texte hinein gelegt.

Mein Gedanke war nun, eine ganz simple HTML Ausgabe (mit Hilfe von PHP) welche die Tabelle darstellt und dann drückt man einen Button oder Link und bekommt das PDF exakt genau so wie es im Browser auf der HTML Seite dargestellt wurde. In Joomla oder anderen CMS habe ich so etwas ähnliches auch gesehen, aber was verwendet man dafür?!

Über ein paar Tipps, Ideen oder Ansätze wäre ich dankbar, denn ich hab vorhin schon ein paar Stunden gebaut und mir Beispiele angeschaut, bin aber der Meinung das meine Ansätze falsch sind oder ich das falsche suche.

Gruß, Domi
 
Für diesen Zweck gibt es Datenbank Reporting Tools. Kannst dir die Reports mithilfe von SQL zusammenbasteln.
PDF Export sollten die gängigsten Reporting Tools beherrschen. Such mal nach Jasper Reports.
 
Nabend, vielen Dank schon mal für das Feedback, wenn ich nachher zu Hause bin, schaue ich mir das einmal an, aber wenn ich mir damit den gewünschten Ausdruck aufbauen kann, wäre das toll :)

Gruß, Domi
 
Hallo,

mPDF.

Der Weg dahin ist folgender:

Irgendwie die Daten in einem rudimentären HTML-Table-Gerüst zusammen bauen.
Ich würde dabei auch zu MVC-Architektur raten; wenigstens eine Template-Engine wie TWIG dafür verwenden.

Hat man seine (UTF-8) HTML-Seite dann irgendwie in einer Variable vorliegen sieht das PDF-Erzeugen dann so aus:

PHP:
<?php
require_once '/vendor/autoload.php';

$htmlTable = <<<EOF
<html>
<body>
<h1>Mustermenschen</h1>
<table>
    <thead>
        <tr>
            <th>#</th>
            <th>Name</th>
            <th>Vorname</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>Mustermann</td>
            <td>Max</td>
        </tr>
        <tr>
            <td>2</td>
            <td>Musterfrau</td>
            <td>Mara</td>
        </tr>
    </tbody>
</table>
</body>
</html>
EOF;

$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML($htmlTable);
$mpdf->Output();

Edit: Und da dort auch fPDF enthalten ist mit fPDFi usw. stehen einen auch Importe und die bekannte FPDF-Syntax mit Cell und Multicell zur Verfügung, wenn man sich unbedingt quälen möchte :)

Edit2: Andere Lösung, falls Access Vorhanden ist:
* MySQL ODBC Treiber installieren
* Access-DB anlegen und die MySQL-Tabellen via ODBC verlinken
* Word Serienbrief erstellen und die Access-DB als Datenquelle angeben
* alternativ: Access-Bericht erstellen
 
Zurück
Oben