Tobias Hahner: TC-PDF im neuen Fenster öffnen

Beitrag lesen

Hallihallo!

Meiner Meinung nach gibt es dazu zwei Möglichkeiten:

  1. Nach dem Absenden des Formulars wird eine Vorschau des generierten Dokuments in HTML angezeigt, die dann zwei Buttons ("Eingaben korrigieren" und "PDF generieren") enthält.

  2. Da Du ja anscheinend sowieso Javascript einsetzt:
    Die Formulardaten per Ajax-Request an das prüfende PHP-Skript senden.
    Dieses PHP-Skript kann dann einen JSON-String zurückliefern, der z.B. so aussehen kann:

   { "Formulardaten" : {  
      "Name" : "Max Mustermann",  
      "Adresse" : "bla bla",  
      "der Aufbau" : "sollte klar sein"  
     },  
    "Datencheck" : "ok",  
    "url_zum_pdf" : "foo/bar.pdf"  
   }

Das Javascript kann nun die Daten aus response.Formulardaten nehmen und ins Affenformular einsetzen (Wenn die keys den Formularfeldern entsprechen, was sich ja fast schon aufzwingt, kann man das in einer Schleife erledigen), und, falls response.Datencheck == "ok" ist, ein Fenster öffnen und auf die Adresse response.url_zum_pdf verweisen lassen:
 var Fenster = window.open('http://example.com/foo/bar.pdf');

Jetzt steht man natürlich kurz vor dem Problem, dass Du an zwei verschiedenen Stellen, nämlich zum Checken der Formulardaten und zum Generieren des PDF, die Formulardaten brauchst. Das lässt sich am einfachsten mit Sessions erledigen.

Wenn man das Beispiel etwas weiter spinnt, kann man auf diese Art auch eine Quasi- Livevorschau realisieren:
Dazu muss das Javascript, falls response.Datencheck == 'ok' ist, nur prüfen, ob das Fenster noch offen ist, und es gegebenenfalls nur refreshen.

Ich hoffe, ich konnte meinen Gedankengang einigermassen anschaulich erklären...

Beste Grüsse,
    Tobias Hahner