PDF erstellen Admin Bereich

  • Hallo zusammen,

    ich habe ein Plugin geschrieben, welches die Termine in unserem Verein verwalten soll.
    Es ist auf unsere individuellen Bedürfnisse angepasst worden, was vermutlich den größten Unterschied zu anderen Plugins für Termine ausmacht.
    Jetzt habe ich allerdings folgendes Problem:

    Im Admin Bereich werden die Termine angelegt. Es gibt 2 Arten von Terminen. Zum Einen gibt es welche, die als reine Information dienen und solche, an denen Benutzer (Mitglieder des Vereins) teilnehmen können. Dies geschieht durch einen Klick auf "Teilnehmen", "Absagen", "Unsicher" im Frontend - auf der Terminseite.
    Im Backend kann der Admin dann die Mitglieder sehen, die einem Termin zu-/ab-gesagt haben oder unsicher sind. Das Ganze wird in einer Tabelle dargestellt.
    Diese Infos möchte ich jetzt aber ganz gerne als .pdf exportieren, damit man die Liste auch drucken kann.
    Einen Button, der die Action auf der passenden Seite triggert besteht schon allerdings weiß ich nicht, wie ich mir die PDF generieren lassen kann. Vorzugsweise sollte diese direkt nach dem Klick auf den Button ".pdf drucken" heruntergeladen werden.
    Hier mal ein Screen, damit man sich besser vorstellen kann, wie das Ganze im Backend aussieht:

    Schon mal vielen Dank im Voraus. Ich hoffe, ihr habt da ein paar Ideen, die mir da helfen können :)
    Gruß
    Jakob

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ideen ja, allerdings bin ich nicht auf dem Stand, was die Verfügbarkeit von Engines zum Generieren von PDFs angeht – also dass „wirklich“ aus deinem System / WordPress direkt das PDF generiert wird. Insofern ist meine Idee möglicherweise ein Umweg:

    Im Prinzip wie ein klassischer Seite-ausdrucken-Button: Klick auf den Button lädt die aktuelle Seite erneut, allerdings mit eigenem, druckfähigen Template und dem entsprechenden CSS und ruft gleichzeitig das Druckmenü auf. (Je nachdem, wie das Layout der Seite ist, kannst du dir das eigene Template auch sparen und reicht das passende CSS – und das wird, wenn du es richtig eingebunden hast, beim Aufrufen des Druckmenüs automatisch abgefragt.)

    Was ich nicht weiß, ob du dem Aufruf des Druckmenüs gleich auch die Ausgabe als PDF „mitgeben“ kannst – sonst eben den Hinweis auf die Benutzer, dass sie mit dem Button ausdrucken oder als PDF speichern können, denn das können, soweit ich weiß, inzwischen alle Systeme über den Drucken-Dialog.

    Gruß
    helix

  • Danke helix für deine Idee, aber das hilft mir auch nicht viel weiter. Ich hatte gedacht, dass ich die TCPDF Library verwende. Das Problem dabei ist, dass ich immer den Fehler bekomme: " header already sent".
    Den bekomme ich auch irgendwie nicht weg. Google sagt mir auch nicht viel. Das Problem haben scheinbar mehrere Leute.
    Das muss doch irgendwie machbar sein:confused:
    Ich hab bereits alle meine Infos in einem Array. Das ganze muss nur noch irgendwie aus dem Admin Bereich, mit einem Button ".pdf drucken" gedruckt werden :D


  • Endlich hab ich's hinbekommen! Danke helix!
    Mein Fehler war, dass ich folgendes hatte:

    PHP
    <?php
    /*
    Hier einige 100 Zeile Code..
    */
    ?>
    <?php
    /*
    Hier stand mein Aufruf, wo die Generierung stattfinden sollte.
    */
    ?>

    Ich hab das Ganze jetzt in den ersten

    PHP
    <?php ?>

    -Abschhnitt gepackt, dann geht's!!;-)

  • Super!

    Diese headers-already-sent-Fehlermeldung taucht eigentlich sehr oft auf. Ich glaube, deswegen war es – zunächst – schwierig, die Ursache genauer einzugrenzen. Und wahrscheinlich deswegen ist der Hinweis auch nicht früher gekommen …

    Gruß
    helix

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!