Die Flexperten Herrlich & Ramuschkat

ColdFusion 8 und PDF-Formulare

ColdFusion 8 hat eine hervorragende Unterstützung von PDF-Formularen. Allerdings beschränkt sich die Dokumentation von ColdFusion darauf, das Data-Submission von einem PDF nur über HTTP Post mit Formvariablen oder direkt mit HTTP POST und kompletten senden des PDFs geht.

“ColdFusion supports two types of PDF form submission: HTTP post, which submits the form data, but not the form itself, and PDF, which submits the entire PDF file.”


Die erste Variante mit HTTP Post und Formvariablen ist käse … die Variante mit Posten des kompletten PDFs ist ok und wird von ColdFusion durch den neuen PDF-Scope sehr komfortabel unterstützt. Allerdings muss dafür das PDF-Formular immer einmalig Reader-Enabled werden, da sonst das der Adobe Reader nicht in der Lage ist, die im Formular eingegebenen Daten im PDF selbst zu speichern und dann die Daten samt PDF zu posten.

LC-Designer

Der Adobe LiveCycle Designer bietet aber noch 2 weitere Option zur Übermittlung der Daten an: XML Data und XML Data Package. Hierfür braucht das PDF nicht Reader enabled zu sein und die Daten kommen in ColdFusion als XML-Paket an … allerdings nur, wenn man ein wenig trickst.

In der ColdFusion-Datei, die den Post entgegen nimmt, muss man das übergebene XML-Paket sich per Hand aus den HTTP-Requestdaten herausholen, dann von Binär nach String wandeln und dann den String in XML-Daten umwandeln. Eigentlich alles ganz easy:

<cfset result = GetHttpRequestData()>
<cfset result2 = toString(result.content, "utf-8" )>

<cfset xmlresult = xmlparse(result2)>

<cfdump var="#xmlresult#">

Noch keine Kommentare

Einen Kommentar schreiben