Seit knapp einer Woche bin ich bei einem Projekt am “kämpfen” mit der Umlautproblematik… Was dabei beruhigend ist:
Es gibt auch großere Konzerne die damit Probleme haben
Seit der letzten Woche begleite ich ein neues Projekt in einer Firma. Dabei stehen Schnittstellen zwsichen mehreren Softwarehäusern zur Diskussion. Ein Makler soll in einer vertrieblich ausgerichteten Software Kundenbestände verwalten können. In einer anderen, soll er komplette Versicherungsanalysen machen. In einer weiteren Software soll die Abrechnung stattfinden, und eine vierte Software dient als DMS System.
Hier, auf dem Schaubild erkennt man, 9 verschiedene Softwareplattformen von 4 Softwarehäusern zusammen spielen müssen. Natürlich soll der Kunde dies möglichst nicht merken, und seine Daten nur in einem System eingeben müssen. Die benötigten Daten sollen automatisch in die anderen System überspielt werden.
Wir haben heute an einem Projekt weiter programmiert. Es geht um eine Internetanwendung, bei der ein User Dokumente hochladen kann. Bei dieser Anwendung wird “nur” normales HTML mit aktuellem CSS angewendet. In einem FORM gibt es das Element INPUT. Definiert man dies als “file”, so bekommt man ein Upload-Box, in der ein Dokument vom Rechner ausgewählt werden kann. Über diesen Weg kann man üblicherweise dem Anwender die Möglichkeit geben Bilder, Dokumente, Videos und vieles mehr hochzuladen. Somit nutzen wir dieses, seit Jahren bewährte INPUT Feld auch bei uns! Da es sich um eine Anwendung handelt, die später primär auf mobilen Geräten laufen soll, haben wir uns das ganze auf den üblichen Geräten angeschaut. Auf jeden Gerät funktioniert dies
! Allerdings gibt es eine(!) Ausnahme… das iPhone! Nach ein wenig googlen stellten ich fest, dass das iPhone dies bewußt(!) nicht unterstützt. Was soll sowas?! Wer denkt sich so etwas aus?! Damit hab’ ich erstmal beschlossen, dass iPhone User Pech haben… Wir schreiben ganz bestimmt keine App, damit iPhone User bei uns Bilder hochladen können!
Dies ist nur ein Argument gegen das iPhone von etlichen … Ich besitze ein HTC mit Android und finde es in allen Punkten besser als das iPhone
Bei einem Projekt geht es darum, dass wir RTF Dokumente, in denen Platzhalter stehen, im Internet (also direkt online) in PDF Dokumente umwandeln müssen. In einem Onlinesystem möchte der Kunde vorher in Word (oder ähnliches) erstelle RTF Dokumente laden. In einem Web Frontend füllen die Endkunden Felder aus, welche später im RTF Dokument ersetzt werden sollen. Der Endkunde soll jedoch kein RTF, sondern ein PDF Dokument bekommen.
Nach intensiver Suche im Internet haben wir kein PHP-Script gefunden, welches dieses derzeit macht. Wir hatten kurzzeitig Überlegungen angestellt, dies z.B. mit OpenOffice zu machen. OpenOffice unterstützt eine Umwandlung von Dokumenten nach PDF per Kommandozeile. So wäre dies auf einem Windows System möglich, jedoch schien uns diese Variante zu “unsicher” und “instabil”. Es gab zu viele Fehlerquellen, und die Umwandlung würde nicht auf dem WebServer liegen. Also hätten Schnittstellen programmiert werden müssen.
Irgendwann hatten wir die ideale Lösung
Im Prinzip ist es recht einfach. Mit dem Programm TED, welches unter Linux-System läuft kann man ebenfalls RTF Dokumente in PDF Dokumente umwandeln. So haben wir auf unserem WebServer TED installiert und können per PHP Aufruf ein RTF in Echtzeit in ein PDF umwandeln. Der erste Teil war geschafft.
Um die Platzhalter im RTF Dokumente durch den vom User eingegebenen Inhalt zu ersetzten hatten wir uns vorgestellt die PHP Funktion str_replace() zu benutzten. Da RTF ein “offenes” Format ist, kann man es in jedem beliebigen Texteditor öffnen und verändern. Im Prinzip kann man sagen, RTF ist eine Sprache wie HTML. Somit sollte das soweit funktionieren, dachten wir. Wie so oft, wir wurden eines besseren belehrt. Natürlich gibt es im RTF Format Steuerzeichen, welche auch innerhalb des Platzhalters stehen können, obwohl diese nicht sichtbar sind für den Anwender. Die reine Zeichenfolge “##01#”, welche auch exakt so im RTF angezeigt wird, wurde z.B. wie folgt gespeichert:
##}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid1144421 01}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\ul\insrsid5973000 #}
Wir mußten also diesen String noch analysieren, und unnötige Steuerzeichen rausfiltern – vor dem Ersetzten der Platzhalter.
Nachdem diese Hürde auch überstanden war, lief es problemlos. Nun können wir uns um die optische Seite der Usereingabe kümmern. Eventuell bieten wir demnächst einen WebService an, der RTF Dokumente, welche Platzhalter haben “säubert” und einen Service, welcher aus einem RTF ein PDF Dokumente direkt online in Echtzeit erstellt.
Normally, i don’t wacht soccer. But, it was a important game for the germans. So, i must watched it! I think, it was a soccer game like each soccer game. Perhaps, other people may have other opinions! I must laughed, if i see the test-picture. We live transmission breaked down!
I ask me, how is it possible? We can phone all over the world. We fligh from one to another continet, and people was on the moon! But, we can’t make a stable live transmission?

The Germans wins! I’m happy, and i’m strained of the finale
Gestern Abend ist noch etwas passiert, womit ich nie gerechnet hätte. Jeder der MSN (Live Messenger) hat, kennt bestimmt diese Viren, die sich automatisch verschicken. Einfach den Kontakt “blocken”, und das Thema war für mich erledigt. Nach einer gewissen Zeit wieder entblocken und alles war gut. Die Dateien, die ankam, einfach nicht annehmen. Gestern ist es mir aber dennoch passiert, ich bin drauf reingefallen. Der Nachrichtentext war ein typischer, wie er realisitisch war. Und, der Link sah aus wie normaler Link, also keine Datei! Ich hab’ den Link angeklickt, und wurde unachtsam. Windows fragte mich sowas wie “wirklich ausführen”, und ich habe einfach Ja geklickt *lol* Genau das, was man anderen immer sagt. Ordentlich lesen, und nicht einfach klicken! Naja, und dann hatte ich ‘ne Datei, die scheinbar auch alle MSN Kontakte anschrieb… Gewußt wie, war das Problem innerhalb Sekunden behoben! Aber dennoch, ich ärgere mich tierisch über mich selber, dass mir so etwas passieren konnte:( Der Link hatte folgendes Format: http://imaageshack.net/image.php?=MSNADRESSE Â
Heute habe ich nicht viel gemacht… Erstmal sehr lange gearbeitet. Abends gabs dann leckeren Fisch zu essen. Danach habe ich ein wenig Zeit am Rechner verbracht.
