Seite 1 von 2
Mehrsprachiges Formular
Verfasst: 21.03.2010, 20:45
von nebelkind
Hallo,
ich würde gerne wissen, wie ich mit dem Livecycle Designer ein mehrsprachiges Formular erstellen kann.
Da das Formular, das ich momentan erstelle, sehr umfangreich ist, würde ich die Mehrsprachigkeit gerne über xml lösen. Ist das möglich?
Mehrsprachiges Formular
Verfasst: 22.03.2010, 15:29
von walde
Hallo nebelkind,
Anbei eine Beispieldatei, die 2 *.xml Dateien enthält. Diese müssen im Acrobat unter "Formulare - Formulardaten verwalten - Daten importieren" in das Formular importiert werden.
Wenn in der Endlösung die Daten aus einem bestimmten Pfad importiert werden sollen, so müssen Sie entweder ein Folder Level JavaScript verwenden oder das Formular zertifizieren. Dies ist eine Adobe Sicherheitseinstellung.
Gruß,
Walde
Mehrsprachiges Formular
Verfasst: 22.03.2010, 17:54
von nebelkind
Danke für die schnelle Antwort!
Kann ich die xml-Dateien auch in eine pdf-datei einbetten?
Mehrsprachiges Formular
Verfasst: 22.03.2010, 18:19
von walde
Hallo nebelkind,
Man kann die XML Dateien als Deteianhang in ein Formular einfügen und aus dem Acrobat darauf zugreifen. Man kann die Komplette Datei auch in das Formular einbetten.
Man kann auch eine EInzelne XML Datei erstellen und das Jeweilige Protokoll dann laden. Siehe Tarife.
http://www.acronaut.de/view_topic.php?id=1313&forum_id=18&highlight=tarif
Soll das Formular mit Acrobat oder Reader ausgeführt werden?
Gruß,
Walde
Mehrsprachiges Formular
Verfasst: 22.03.2010, 18:26
von nebelkind
Es soll später mit dem Reader geöffnet und gespeichert werden können.
Und wie kann ich eine Xml-datei in ein pdf einbetten?
Mehrsprachiges Formular
Verfasst: 22.03.2010, 19:55
von walde
Hallo nebelkind,
Die nachfolgende Datei enthält ein *.pdf Formular und 2 *.xml Dateien.
In dem PDF Formular sind die 2 *.XML Dateien bereits als Base64 kodierte Strings eingebettet und sind nur für die Übung da. Die Einbettung erfolgte bereits im LCD durch copy & paste des Base64 Strings. Die Strings befinden sich unter LCD "Datei - Formulareingenschaften - Variablen".
Umwandlung der Dateien in einen Base64 kodierten String:
Mit Acrobat oder Reader ab v9.2 (voraussetzung für die Besispieldatei) geht es sehr unproblematisch. Mit dem Objekt "readFileIntoStream" kann eine beliebige Datei in einen Base64 kodierten Stream umgewandelt werden. Danach wird der Base64 kodierte Stream in einen String umgewandelt (stringFromStream). Als String kann nun die ganze Datei im Formular gespeichert werden.
Um die Datei aufzurufen und in ein für das Formular lebares Objekt umzuwanfdeln werden folgende Schritte benötigt:
1. Den Base64 kodierten String in einen Base64 kodierten Stream umwandeln(streamFromString)
2. Den Base64 kodierten Stream dekodieren (streamDecode)
3. Den Dekodierten UTF-8 Stream in einen String umwandeln (stringFromStream)
4. Den UTF-8 String als XML Erkennen lassen (XMLData.parse)
5. Nun können die Daten in das Formular geladen werden (loadXML)
Die Vorgehensweise ist mit der Funktion in Acrobat "Formulare - Formulardaten verwalten - Daten importieren" vergleichbar, was man im unteren Feld (debugger) sehr deutlich sehen kann.
Gruß,
Walde
Mehrsprachiges Formular
Verfasst: 23.03.2010, 12:30
von nebelkind
Danke, ich glaub das hilft mir weiter.
Kann denn dieser Base64-String dann auch beliebig lang sein, wenn man ihn als Variable übergibt? Da mein Formular über 30 Seiten beinhaltet, würde die xml-Datei mit den Beschriftungen auch sehr umfassend werden.
Gruß,
nebelkind
Mehrsprachiges Formular
Verfasst: 24.03.2010, 09:12
von walde
Hallo nebelkind,
XML Dateien werden unter Acrobat nochmals sehr stark komprimiert. Deshalb ist es kein Problem der größe. Habe schon über 5 Mb große XML Dateien eingelesen und es gab keinerlei Probleme. Diese wurde auf gerade mal 350 kb komprimiert. Die Größe der Variablen dürfte auch kein Problem darstellen. Unter nachfolgendem Link wird für die Anzahl an variablen Feldern 4,294,967,295 angegeben. Probieren Sie es einfach aus.
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array
Gruß,
Walde
Mehrsprachiges Formular
Verfasst: 12.04.2010, 12:54
von nebelkind
Hallo,
wenn ich versuch die xml-datei aus dem base64-stream auszulesen, wird manchmal ein Laufzeitfehler ausgelöst...und der Adobe Reader wird automatisch geschlossen.
Zuerst erscheint eine Warnung "Softwarefehler" und dann "runtime error".
Ich habe genau denselben Quellcode hergenommen wie in Sprachen2.zip
Sprachen2 funktioniert bei mir auch.
Woran könnte das liegen? Vielleicht daran, dass ich nur die 30-tage testversion habe?
Ich habe die xml-Datei auch extra schon zum testen verkleinert, das hat jedoch auch nichts geholfen... Das komische ist halt, dass es manchmal klappt und manchmal nicht...Ich habe auch die erweiterten Rechte eingestellt.
Mehrsprachiges Formular
Verfasst: 16.04.2010, 17:25
von walde
Hallo nebelkind,
Leider weiss ich nicht woran es liegen könnte, dass Adobe Reader den Softwarefehler ausgibt.
Besteht das Problem bei Adobe Acrobat auch?
Wenn Ich den Fehler hätte, dann würde ich mir zuerst die XML Datei genau anschauen und versuchen den Fehler zu reproduzieren. Danach würde ich versuchen (falls vorhanden) ein Update für den Reader bzw. Acrobat aufzuspielen. Wenn das Problem weiterhin bestehen würde, würde ich die Speicherauslastung vom Reader beobachten.
Wie groß sind die XML Dateien?
Gruß,
Walde