Aus HTML ein PDF erstellen, ist nicht unbedingt das Problem. Könnte man z. B. mit Perl machen. Ich habe hier was bei der iX gefunden: https://www.heise.de/ix/artikel/Linie-fuer-Linie-505776.html
Der Artikel ist inzwischen schon fast volljährig :-P
Da gibt es heute wesentlich bessere Lösungen und mit Perl würde definitiv keine neuen Projekte mehr starten, weil Du später keinen findest der die ganze Lösung warten möchte.
Letztendlich wäre es vorher ggf. hilfreich zu wissen was da als PDF-Report erzeugt werden soll, bzw. ob es ggf. auch ausreichen würde direkt eine Webseite zu drucken. PDF hätte aber auf jeden Fall den Vorteil, dass man die Messergebnisse ggf. gleich vernünftig archivieren könnte. Für Forschungsarbeiten würde ich das auf jeden Fall empfehlen, aber such sonst ist diese Option nie verkehrt.
PDFs von Hand generieren (mit elementaren Grafikoperationen) schafft zwar tendenziell eine große Flexibilität, ist aber auch ziemlich aufwändig: Du musst Dich da nämlich um jede Kleinigkeit kümmern. Insbesondere der Umgang mit Zeilen und Seitenumbrüchen in tabellarischen Daten ist absolut kein Vergnügen!
Es gibt da noch diverse andere Möglichkeiten (nicht abgeschlossen):
- Das Textsatzsystem LaTeX zur PDF-Erzeugung nutzen.
Vorteil: Damit hat man schon eine recht große Flexibilität - wenn man sich mit LaTeX auskennt.
Nachteil: Die Inhalte müssen tendenziell escaped werden
- Mit Serienbrieffunktionen erstellen (Open/Libre-Office gibt es auch in einer automatisierbaren Headless-Funktion).
Vorteil: Ggf. einfache Erstellung und Anpassung von Vorlagen
Nachteil: Ggf. komplizierte Ablaufsteuerung
- Report-Generator nutzen
Vorteil: Ggf. direkt aus der DB nutzbar
Nachteil: Ggf. eingeschränkte Flexibilität
- Converter nutzen von HTML zu PDF
Vorteil: Tendenziell einfache Umsetzung
Nachteil: Einschränkungen beim Layout
Es gibt also verschiedene Möglichkeiten. Mit TCPDF wurde schon eine ganz geeignete High-Level Lösung gewählt (siehe z.B. https://ourcodeworld.com/articles/read/226/top-5-best-open-source-pdf-generation-libraries-for-php). Wenn man das Gesamtsystem mit einer sauberen Architektur aufbaut, dann kann man später ggf. auch noch zu einer besseren und schöneren Lösung wechseln.