Nicht-webfähige Schriften darstellen

25. April 2008

Sicherlich kommt es Ihnen bekannt vor: Das Layout des Designer ist absolut treffend, aber bei der Umsetzung der Seite gibt es massive Unterschiede in den Schriften.

Der Webbrowser kann immer nur Schriften darstellen, die auf dem eigenen System installiert sind. Da es allerdings bei allen Systemen unterschiedliche Schriften gibt, greift der Browser auf eine Alternative zurück, bzw. die Webseiten werden direkt mit websicheren Schriften erstellt.

Durch das dynamische Erstellen von Schriften, in Form von Bildern, können Sie Ihr Design absolut perfekt im Internet nachbilden. Es werden außerdem mehrsprachige Inhalte unterstützt. Der einzige Nachteil, die Erstellung benötigt eine höhere Rechenleistung als eigentlicher Text (Es kann durch ein intelligentes temporäres Auslagern verhindert werden). Was allerdings bleibt, ist ein höheres Datenaufkommen, durch Bandbreiten ab 1 MBit ist das allerdings zu vernachlässigen. Zumal die Bilder auf die eigene Festplatte ausgelagert werden.

Ich stelle Ihnen heute ein Skript vor, welches direkt und einfach als Bild eingebunden werden kann, aber alle Schriftarten darstellen kann. Es handelt sich um eine Implementierung unter Verwendung von IMagick aus den PHP Bibliotheken.

Die Einbindung erfolgt folgendermaßen:

  1. <img src="examples/fonty.php?t=Beispiel" alt="Beispiel"/>

Als Resultat erhalten wir folgende Ausgabe:
Beispiel

Ich habe für das Beispiel die Schriftart Visitor verwendet. Als weitere Optionen können noch die Vordergrundfarbe, die Hintergrundfarbe und die Schriftgröße übergeben werden.

Als Beispiel für eine Größe von 20pt mit blauem Hintergrund und weißer Schriftfarbe:

  1. <img src="examples/fonty.php?t=Beispiel&c=ffffff&b=0066CC&s=20" alt="Beispiel"/>

Als Ausgabe erhalten wir folgendes Bild:
Beispiel

Natürlich ist das Skript erweiterbar z.B. durch das Verwenden von mehreren Schriftdateien, oder durch das Benutzen von Verläufen und eben alles was grafisch möglich ist. Die Standardwerte können angepasst werden, um es an persönliche Vorstellungen anzugleichen. Folgende optionale Werte können belegt werden:

  1. /* configuration */
  2. /* allowed referer - else, everyone can generate images over your server */
  3. $referer = array( "localhost", "127.0.0.1", "pyades.com", "devqt.com", "imagy.com" );
  4. /* default string */
  5. $string = "pyades technologies gmbh";
  6. /* max string len */
  7. $maxStringLen = 24;
  8. /* default font point size */
  9. $size = 12;
  10. /* maximal font point size possible */
  11. /* note: a size like 1000pt can slow down or even break the server */
  12. $maxSize = 20;
  13. /* default font color */
  14. $color = "#000000";
  15. /* default background color */
  16. $background = "transparent";
  17. /* image comment */
  18. $comment = "imagy.com by Pyades Technologies GmbH";
  19. /* the font for writing */
  20. $font = "visitor.ttf";
  21. /* type of image - also possible, whatever Imagick can use */
  22. $imageType = "png";

Durch das Nutzen von $referer haben Sie die Möglichkeit, die Bildausgabe auf bestimmte Hosts zu begrenzen, damit Ihr Server nicht unnötig belastet wird, falls es sich ein anderer zu eigen macht. In einer späteren Anpassung wird eine weitere Sicherung in Form der IP-Adresse oder sogar in Form von Cookies denkbar sein. Ich halte Sie natürlich wie immer auf dem Laufenden.

Download: /examples/fonty-0.1.zip

Sollten Sie eine Abwandlung benötigen, oder möchten Sie es in Ihre Webseite integriert haben? Dann sprechen Sie mit mir, wir werden unter Garantie eine Lösung finden. Haben Sie weitere Fragen? Dann rufen Sie mich doch an, oder schreiben Sie mir einfach eine eMail.

Florian Becker

Pyades Technologies GmbH
Römerstr. 4 L
55232 Alzey

Tel: +49 (0) 67 31.998 78 66
Mob: +49 (0) 163.680 35 64
Fax: +49 (0) 67 31.998 78 67

Webseite: www.pyades.com

Amtsgericht: Mainz HRB 41299
Geschäftsführer: Florian Becker

PHP MimeMail mit eingebetteten Bildern versenden

9. April 2008

In geschäftlichen Signaturen werden gerne Firmenlogos oder sogar das persönliche Foto mitversandt. Oft findet man das Bild dann im Anhang und nicht innerhalb des Textes, aber als weitaus wichtigere Anwendungsmöglichkeit, kann die MimeMail Klasse in einem Newsletter System eingebunden werden. Für die Bearbeitung steht dann ein Feld, für eine Textnachricht, und eines für eine HTML-Nachricht zur Verfügung. Als letztes werden alle nötigen Bilder entsprechend eingebettet. Dazu ist es abschließend noch möglich, wirkliche Anhänge der eMail anzufügen und dann an beliebig viele Empfänger zu versenden.

Folgende Vorteile bietet die PHP MimeMail Klasse:

  • Versenden einer textbasierten eMail
  • Versenden einer HTML-basierten eMail
  • Einbetten von Bildern
  • Weitere sonstige Anhänge
  • Alle diese Funktionen auch kombiniert
  • Kopfinformationen können manipuliert bzw. ergänzt werden
  • Priorität einer eMail setzen

Die wohl größten Vorteile bestehen darin, dass ein nicht HTML-fähiger MailClient nur die Textvariante anzeigt, dass in HTML-eMails alle Dateien eingebettet sind und nicht extern von einem evtl. blockierten Server nachgeladen werden müssen. Mit den gängigsten eMail-Programmen wurde das Script getestet, unter anderem Mozilla Thunderbird, Opera Mail, Microsoft Outlook, Microsoft Mail, KMail, Mac Mail.

Hier möchte ich Ihnen noch zeigen, wie einfach eine Implementierung ist. Bereits wenige Zeilen Quelltext reichen aus, um die Klasse zu verwenden:

  1. /* neue MimeMail erstellen */
  2. $mime = new MimeMail();
  3. /* Absender der eMail setzen */
  4. $mime -> setSender( "$name <$email>" );
  5. /* Empfänger der eMail setzen */
  6. $mime -> setRecipient( "$name <$email>" );
  7. /* Betreff setzen */
  8. $mime -> setSubject( $subject );
  9. /* Evtl. noch einen neuen Header hinzufügen */
  10. $mime -> addHeader( "Organization", "Pyades Technologies GmbH" );
  11. /* Priorität der eMail setzen */
  12. $mime -> setPriority( "3" );
  13. /* HTML-Bereich setzen */
  14. $mime -> setHtml( $html );
  15. /* eingebettete Dateien hinzufügen - durch die <img src="1@pyades.com"/> werden die korrekten Bilder zugewiesen - die IDs sind fortlaufend */
  16. $mime -> addEmbeddedAttachement( $file, $mimetype );
  17. /* Einfachen Textbereich setzen */
  18. $mime -> setPlain( $plain );
  19. /* weitere Attachments hinzufügen */
  20. $mime -> addAttachment( $file, $mimetype );
  21. /* Die eMail verschicken */
  22. $mime -> sendMimeMail();

Außerdem finden Sie eine genauere Beschreibung der Funktionen in der Datei.

Download: /examples/mimemail.zip

Bei Fragen zu einem Newslettersystem oder zu der beschriebenen Klasse freue ich mich über Ihren Anruf und natürlich auch Ihre eMail.

Florian Becker

Pyades Technologies GmbH
Römerstr. 4 L
55232 Alzey

Tel: +49 (0) 67 31.998 78 66
Mob: +49 (0) 163.680 35 64
Fax: +49 (0) 67 31.998 78 67

Webseite: www.pyades.com

Amtsgericht: Mainz HRB 41299
Geschäftsführer: Florian Becker

Positionsbestimmung mit Google Maps

4. April 2008

Mit Google Maps ergeben sich neue Möglichkeiten für die Darstellung von Inhalt an festgelegten Positionen. Das Schwierigste ist dabei generell die Position korrekt zu bestimmen und zu verwenden. Mit der folgenden Darstellung haben Sie eine Positionssuche, sowie eine Vorschau des erstellten Inhalts, der außerdem per Drag and Drop auf der Karte gesetzt werden kann. Es werden dann die exakten Koordinaten ausgegeben, die dann später weiter verarbeitet werden können um eine Gesamtansicht der Landkarte zu erstellen. Es ist auch möglich diesen selbst erstellten Inhalt dann in das System auf Google Maps zu integrieren.

Live Ansicht:

Live Demo: /examples/google.maps.php

Download: /examples/google.maps.position-0.1.tar.gz

Eine Anleitung für die eigene Installation finden Sie im Download. Durch die gelieferte Dokumentation ist es einfach diese Anwendung für jeden bedarfsgerecht einzubinden.

Sollten Sie eine Implementierung von Google Maps wünschen, würde ich mich über einen Anruf freuen. Ich beherrsche die vollständige Anbindung und kann Ihnen auch gerne persönlich einmal die Möglichkeiten der Verwendung erläutern. Sie können mir natürlich auch eine eMail schreiben.

Florian Becker

Pyades Technologies GmbH
Römerstr. 4 L
55232 Alzey

Tel: +49 (0) 67 31.998 78 66
Mob: +49 (0) 163.680 35 64
Fax: +49 (0) 67 31.998 78 67

Webseite: www.pyades.com

Amtsgericht: Mainz HRB 41299
Geschäftsführer: Florian Becker

Datenmigration unterschiedlicher Systeme

3. April 2008

Es wird immer wichtiger, dass verschiedene Architekturen auf unterschiedlichen Systemen reibungslos und zeitsparender zusammen arbeiten. Es gibt verschiedenste Konstellationen, bei denen eine Migration Sinn macht. Ich möchte Ihnen hier anhand von einem Alltagsproblem eine Möglichkeiten nennen um eine Lösung zu finden.

Unterschiedliche Datenstrukturen mit verschiedenen Betriebssystemen und Mehrfachnutzungen

Sie greifen von unterschiedlichen Clients auf verschiedene Datenbestände zu, sowohl die verschiedenen Datenbanken, wie auch die unterschiedlichen Betriebssysteme machen dabei Probleme, denn der Bestand befindet sich im nicht konsolidierten Zustand bis zur manuellen oder automatischen Migration. Mehrfachnutzungen belasten das Netzwerk zusätzlich und verlangen den Benutzern mehr ab als nötig sein sollte. Sehen Sie dazu folgende, oft anzutreffende, Konstellation:

Ich kann Ihnen bei diesem Problem eine Echtzeitlösung anbieten. Je nach Umfang des Datenbestands und nach Komplexität der Clients ist ein solches Projekt in durchschnittlich sechs Monaten realisierbar. Sofort nach Umstellung ist eine Einsparung garantiert, denn wir achten bei der Entwicklung auf gleichbleibende Funktionsweise. Bewährte Funktionen aus allen Systemen werden intelligent umgestellt. Im gleichen Schritt kann man natürlich auch eigene Funktionen implementieren und nach eigenen Wünschen erweitern. Nach einer Migration wird Ihr System wie folgt aussehen:

Man kann im direkten Vergleich feststellen, dass der Wegfall von Datenbankservern und unterschiedlicher Client Software zu einer massiven Einsparung führen.

Die Migration von Datenbeständen ist natürlich eine langfristige Investition - aber selbst hierfür biete ich Ihnen eine sichere Lösung. Mit einer Bedarfsanalyse in Ihrem Unternehmen zu einem Festpreis von 500,00 Euro zzgl. Umsatzsteuer pro Tag gehen Sie ein sehr geringes Risiko ein. Eine Analyse in Ihren Räumen mit den nötigen Ansprechpartnern liegt bei normalerweise einem Tag Aufwand, je nach Systemgröße. Danach haben Sie über den tatsächlichen Umfang Gewissheit und auch eine Analyse zur Kostenreduzierung.

Bei Interesse rufen Sie mich doch einfach an oder schreiben Sie mir eine eMail.

Florian Becker

Pyades Technologies GmbH
Römerstr. 4 L
55232 Alzey

Tel: +49 (0) 67 31.998 78 66
Mob: +49 (0) 163.680 35 64
Fax: +49 (0) 67 31.998 78 67

Webseite: www.pyades.com

Amtsgericht: Mainz HRB 41299
Geschäftsführer: Florian Becker