ich habe ein PHP Mailformular dort gibt der User in ein Formularfeld eine Reihe Zahlen ein, diese möchte ich gerne in der Mail die nach absenden bei mir ankommt als Barcode haben. Zum Drucken und Scannen.
Geht das als HTML -Mail?
im Header habe ich bisher
$header .= “Content-type: text/plain; charset=iso-8859-1\r\n”;
Kennst du denn das Kodierungsverfahren, wie man also aus den
Zeichen die Balken macht? Es gibt ja offenbar verschiedene
Methoden: de.wikipedia.org/wiki/Strichcode
Offenbar können die Balken unterschiedlich breit sein, deshalb
fällt eine simple Kennzeichnung schon mal weg. Mit HTML
allein sollte das also schwierig werden, man könnte aber mal
gucken, ob es Glyphen gibt, die sich für sowas eignen könnten.
Etwas eleganter könnte es gehen, wenn man CSS dazunimmt,
dort kann man ja Höhe und Breite von Objekten angeben, die
zudem auch immer Rechtecke sind. In HTML bastelt man dann
leere span-Elemente, wohl am besten mit dem unkodierten
Zeichen im title-Attribute und gibt denen dann die erforderliche
unterschiedliche Breite per CSS.
Generell ist es natürlich besser, das mit Graphik statt HTML zu
erledigen, also etwa SVG ist ähnlich einfach zu erstellen wie
HTML und in XHTML kann man es sogar direkt integrieren.
Mittels PHP und der GD-Bibliothek kann man das dann auch als
Pixelgraphik realisieren, wenn das erwünscht ist.
Sofern man die Kodierung genau kennt, sollte die Umsetzung in
allen genannten Fällen recht einfach sein und erfordert nur ein
simples PHP-Skript.
Ansonsten ist text/plain allerdings auch kein HTML sondern eben
Klartext, da paßt schon dein header nicht.
zuerst, $header .= “Content-type: text/plain; charset=iso-8859-1\r\n”;
bisher habe ich ja auch keine html mail.
Es scheint doch nicht so einfach zu sein.
Ich verwende Schrift “Code 39” diese ist lokal auf meinem Rechner installiert.
Für analoge Formulare (die gedruckt und mit der Post versendet werden) nutze ich die Windows Schrift Code 39.
Unsere Mitglieder füllen dann das Formular aus, schicken es zurück und ich scanne es ein.
Ich habe gedacht, das der Teil des Textes der in Barcode dargestellt werden soll, beim öffnen der Mail auf meinem Rechner in Barcode umgewandelt wird. Es handelt sich um eine Ziffernfolge.
Für den User der das Formular ausfüllt ist dies nicht relevant.
Wenn du eine Schriftart hast, welche die Kodierung representiert,
so müßtest du die wohl einfach auf den zu kodierenden Text
anwenden.
Kannst du auch mit CSS machen, mit HTML allein eher nicht,
also dort das CSS dann entweder im style-Element oder im
style-Attribut notieren (letzteres ist wohl bei einer email an dich
selbst unbedenklich).
Wenn die bei dir installierte Schriftart ‘Code 39’ heißt, so
könntest du etwa in einer HTML-Ausgabe den betreffenden
Inhalt so formulieren:
Wenn das HTML- und CSS-fähige Darstellungsprogramm die
Schriftart ‘Code 39’ installiert hat, sollte das auch damit
dargestellt werden, sonst eben mit der gewöhnlichen
serifenlosen Schriftart.
Achso - vermutlich mußt du noch das passende Start- und
Stoppzeichen hinzufügen, damit ein Scanner das auch lesen kann,
laut wikipedia ist das bei ‘Code 39’ wohl *
In dem Falle wird ja nur zur Darstellung diese Schriftart verwendet,
es wird nichts formatiert, insofern kann es durchaus sein, daß
du die Sterne selber setzen mußt. Das Ergebnis sieht also nur so
aus wie eine Strichkodierung. Solange es für den scanner auch so
aussieht, ist es ja ausreichend ;o)
Wird man ja durch probieren schnell herausfinden, ob oder ob
nicht Stern.
Beim Namen sollte man jedenfalls sehr genau nachgucken und
korrekt hinschreiben, wie die Schriftart heißt, sonst erkennt das
Darstellungsprogramme das nicht und stellt alles mit der
normalen Schriftart dar.
das dürfte eigentlich garnicht so schwer zu realisieren sein in php, wenn du das font-file besitzt.
du erstellst einfach ein bild mit der GD-Lib (imagecreate) und schreibst den Text drauf unter verwendung dieses font-files…
du müsstest dann deine mails als HTML versenden und die Grafik per img-tag einbinden oder kann man die auch so in die mail packen ? nee oder ?
Steht doch oben, der Empfänger der email ist der Autor des
Skriptes, welches die email versendet, der sollte doch schon
selber wissen, was auf seinem Rechner installiert ist, insofern
braucht man da nicht mit der GD eine Pixelgraphik zu erstellen.
Dazu wiederum bräuchte man ja auch entweder die passende
Schriftart auf dem server und in die GD einbindbar (sowohl
technisch als auch rechtlich) oder man darf die Konversion
im Skript vornehmen und dann eben viele Rechtecke malen.
Wenn du E-Mail nur an den Autor geht, dann ist der Aufwand der Pixelgrafik wirklich unnötig…
Ansonsten Schriftarten einbinden ist (technisch) problemlos und einfach… http://de.php.net/imagettftext