In einer Form Daten aufnehmen und zum Download anbieten
Lm
- sonstiges
Guten Abend liebe Entwicklercommuity 😊
Ich arbeite in der IT Branche nur leider nicht als Programmiererin.
Mein Interesse es zu lernen ist aber sehr gross. An Kleineren Projekten habe ich mich schon versucht. Um mehr zu lernen habe ich mir ein Projekt ausgedacht. Das Projekt dient dazu motiviert zu bleiben um am Ende hoffentlich ein Erfolgserlebnis abstreichen zu können. Das wird sicher lange gehen aber das ist für mich in Ordnung.
Ich würde gern wissen ob jemand mir helfen kann Ein Formular aufzusetzen. Ist es ein Formular ?
Meine Vorstellung:
Ich habe eine PDF (Anmeldeformular zur Kita) das komplette Layout dieser PDF soll genau so erhalten bleiben. Bevor ich dieses Formular zum Download erhalte Will ich In einer Form bestimmte Felder ausfüllen oder Fragen beantworten. Wenn ich bestätigen drücke soll eine neue Seite erscheinen, damit ich die PDF ausgefüllt runterladen kann...
Besten Dank für euer Feedback!
Besten Grüsse Lm
Liebe Lm,
Ich würde gern wissen ob jemand mir helfen kann Ein Formular aufzusetzen. Ist es ein Formular ?
ja, dafür benutzt man ein Formular. Mehr dazu gleich.
Ich habe eine PDF (Anmeldeformular zur Kita) das komplette Layout dieser PDF soll genau so erhalten bleiben.
Wie sollen die aus dem Formular erhaltenen Daten in das PDF geschrieben werden? Dazu bedarf es einer serverseitigen Verarbeitung, die Nutzereingaben auswertet und mit irgendeiner Magie in das PDF schreibt.
Die gute Nachricht: Für alles das gibt es bereits fertige Komponenten, die man dafür nutzen kann.
Jetzt stehst Du vor einem ordentlichen Stück Weg, um zu Deinem Ziel zu gelangen. Folgende Stationen wirst Du auf Deinem Weg passieren müssen:
Was Du da als Projekt beschreibst, habe ich auch schon machen müssen. Daher kann ich Dich ermutigen, das alles in Angriff zu nehmen, da ich weiß, dass es alles lösbare Probleme sind. Der letzte Punkt ist der wohl komplizierteste, da Du Dich hier mit von anderen erstellten Komponenten befassen wirst, insbesondere das Verwenden von bereits vorhandenen PDF-Dateien als Vorlage, wobei man Dir hier aber bei jedem Schritt helfen kann.
Als Teaser möchte ich Dir hier ein kleines Code-Beispiel geben, welches in Ansätzen Deine Vorstellungen umsetzt. Du siehst hier ein klitzekleines PHP-Programm, welches zwei Funktionen definiert, wovon eine ein Formular ausgibt, und eine zweite eine PDF-Datei ausgibt - abhängig davon, ob ein Besucher der Seite alle benötigten Formulareingaben gemacht hat:
<?php
function send_form () {
// vorgefertigte HTML-Datei als Vorlage nehmen
$html = file_get_contents(__DIR__.'/res/formular.html');
// bereits vorhandene Nutzereingaben in das Formular schreiben
foreach ($_POST as $key => $value) {
// ... noch zu implementieren
}
// an den Browser senden
header('Content-Type: text/html; charset=UTF-8');
echo $html;
}
function send_pdf () {
// PDF-Programme einbinden
include __DIR__.'/res/fpdi/fpdi.php';
include __DIR__.'/res/tcpdf/tcpdf.php';
// damit neue PDF-Datei anlegen
$pdf = new Fpdi('P', 'mm', 'A4', true, 'UTF-8', true);
// vorhandene PDF-Datei als Vorlage benutzen
$pdf->setSourceFile(__DIR__.'/res/anmeldung.pdf');
$pdf->useTemplate($pdf->importPage(1));
// Nutzereingaben in die PDF-Vorlage schreiben
foreach ($_POST as $key => $value) {
// ... noch zu implementieren
}
// PDF-Datei an den Browser für den Download senden
$pdf->save();
}
// wurden alle benötigten Daten eingegeben?
if (
empty($_POST['Vorname'])
|| empty($_POST['Nachname'])
|| empty($_POST['Anschrift'])
|| empty($_POST['PLZ'])
|| empty($_POST['Ort'])
|| empty($_POST['Telefon'])
) {
// nein - Formular (erneut) anzeigen
send_form();
} else {
// ja - PDF-Datei erzeugen und zum Download anbieten
send_pdf();
}
Das Code-Beispiel geht davon aus, dass Du zwei Dateien als Vorlagen hast, eine HTML- sowie eine PDF-Datei. Das Code-Beispiel selbst müsste in einer dritten Datei stehen, einer PHP-Datei. Außerdem erwartet das Beispiel, dass es prinzipiell sechs Nutzer-Angaben braucht, die sowohl im HTML-Formular, als auch in der PDF-Datei benötigt werden:
Wie Du siehst, kann man prinzipiell alle Deine Vorstellungen umsetzen. Jetzt gilt es nur herauszufinden, was Du genau alles benötigst und wie Du im Detail Dinge lösen möchtest.
Hast Du schon einen vernünftigen Editor, um damit Programmcode zu schreiben?
Liebe Grüße
Felix Riesterer
Hallo Felix,
Danke für die rasche Antwort und Tipps. Ich bin ein wenig überfordert muss ihr ehrlich zugeben aber werde mich mal daran versuchen.
Danke! Gruss Lm
Liebe Lm,
Ich bin ein wenig überfordert muss ihr ehrlich zugeben aber werde mich mal daran versuchen.
immer hübsch einen Schritt nach dem anderen.
Mein Vorschlag: Beginne mit einer Liste an Daten, die Anwender eingeben müssen. Dann baust Du das Formular mit den Mitteln von HTML. Hilfe bekommst Du jederzeit hier.
Hast Du schon einen vernünftigen Editor?
Liebe Grüße
Felix Riesterer
Hallo Felix,
ich stehe vor einer vergleichbaren Aufgabe. Chöre sollen ein 3-seitiges GEMA-Formular ausfüllen, siehe „problematische Seite”.
// Nutzereingaben in die PDF-Vorlage schreiben
foreach ($_POST as $key => $value) {
// ... noch zu implementieren
}
Wie kann ich Felder in einem PDF per PHP ansprechen? Ursprünglich dachte ich, das PDF Formular in HTML nachzuempfinden. Aber wenn man das Original verwenden kann, umso besser.
Gruß, Linuchs
Hallo Linuchs,
// Nutzereingaben in die PDF-Vorlage schreiben foreach ($_POST as $key => $value) { // ... noch zu implementieren }
Wie kann ich Felder in einem PDF per PHP ansprechen? Ursprünglich dachte ich, das PDF Formular in HTML nachzuempfinden. Aber wenn man das Original verwenden kann, umso besser.
Das hat sich bei mir als schwierig erwiesen, weil ich keine Software gefunden habe, die die Erstellung von PDF-Formularen unterstützt.
Ich bin deshalb tatsächlich so vorgegangen, dass ich ein HTML-Formular ausfülle und daraus dann das PDF erzeuge. Das PDF ist dann allerdings kein Formular.
Bis demnächst
Matthias
Lieber Linuchs,
Wie kann ich Felder in einem PDF per PHP ansprechen?
nach meinem Wissen überhaupt nicht.
Ursprünglich dachte ich, das PDF Formular in HTML nachzuempfinden. Aber wenn man das Original verwenden kann, umso besser.
Du kannst das original als Vorlage verwenden. Aus technischer Sicht verhält sich die Vorlage wie ein Hintergrundbild. In dieses Bild kannst Du mit den entsprechenden PHP-Bibliotheken dann Deine Formulareingaben hineinschreiben und das so veränderte Ergebnis als PDF-Datei zum Download anbieten.
Liebe Grüße
Felix Riesterer