Fotos beim Export der Windows Kontakte als vCard behalten

Windows hat einen eingebauten Ordner namens „Kontakte“, in dem sich *.contact Dateien befinden. Das sind (natürlich) XML Dateien, in denen ein Kontakt beschrieben wird. Leider ist der quasi-Standard für Kontaktdateien nun Mal vCard. Kein Problem sollte man meinen, kann man die Kontakte doch als *.vcf exportieren. (U.u. versteckt sich der Button hinter dem Pfeil >>).

Leider ist der Exporter nicht besonders gut, er unterschlägt nämlich die in hinterlegten Bilder. Doch mit einem kleinen Trick bekommt man auch die in die vCard. Dies muss man leider für jede einzeln machen (oder sich ein Programm schreiben ;))

Zuerst öffnet man die vCard ein einem Editor seiner Wahl (z.B. Notepad++). Dort finden man dann ungefähr das folgende Bild:

BEGIN:VCARD
VERSION:2.1
N:Rother;Niklas
FN:Niklas Rother
NICKNAME:Simsmaster
ORG:Niklas Software
TEL;HOME;VOICE:0000 000000
TEL;CELL;VOICE:0000 00000000
ADR;HOME:;;MeineStr. 123;MeinOrt;;00000
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:SchonWiederMeinAdresse
URL;HOME:niklas-rother.de
EMAIL;PREF;INTERNET:findetman@im.impressum
REV:20101010T104520Z
END:VCARD

Eine vCard hat ein etwas verrücktes Dateiformat, ich glaube Microsofts XML Lösung ist gar nicht so schlecht… Naja, um ein Foto einzufügen muss man jedenfalls einen neuen Eintrag hinzufügen: PHOTO;ENCODING=BASE64;TYPE=JPEG:[HierDasPhoto]

Dieser Eintrag kann an einer beliebigen Stelle zwischen der ersten und letzten Zeile eingefügt werden. Er sagt, das der Wert des Foto Eintrags ein base64 encodiertes JPEG Bild ist. Base64 ist eine Methode um beliebige Bytes als ASCII Text darzustellen. Das kann uns eigentlich egal sein, genau das gleiche Verfahren benutzt auch Microsofts .contact Format. Also wird auch die Originale Datei in einem Editor geöffnet. Dort werden wir erst Mal von einer Menge wirrer Zeichen erschlagen, doch das ist unser Foto!

Diese Zeichen werden jetzt kopiert (Achtung: Sie fangen schon in Zeile 4 am Ende an!). Leider enthalten sie noch Zeilenumbrüche, die in einer vCard nicht erlaubt sind. Um die zu entfernen benutzen wir einfach eine Website, die Zeilenumbrüche entfernt. Die Ausgabe des Online-Tools kopieren wir jetzt hinter die eingefügte Zeile in unsere vCard und speichern. Jetzt haben wir das Foto in unsere vCard kopiert.

Leider hat der Parser, der in Windows eingebaut ist ein Problem mit Fotos, so das alles was unter dem PHOTO Eintrag steht wird ignoriert. D.h. es wäre sinnvoll den neuen Eintrag ans Ende der vcf-Datei zu stellen. Ich bin mir nicht sicher ob Googles Parser (der die vCard mit Foto liest) besser ist, oder ich mich nicht an den Standard gehalten habe. Wenn jemand noch ein vCard fähiges Programm hat kann er ja mal testen, ob das meinen Trick schluckt.

7 Gedanken zu „Fotos beim Export der Windows Kontakte als vCard behalten

  1. –> (Achtung: Sie fangen schon in Zeile 4 am Ende an!).
    Also kopiere ich erst die Zeichen ab der 5. Zeile? So ganz kapier ich es nicht! Danke für eine Antwort

  2. Das war wohl etwas blöd ausgedrückt: In Zeile vier steht sowas wie
    [...]c:ModificationDate="2011-02-25T19:09:37Z">Qk1YfAAAAAA[...]
    Du musst dann ab Qk1YfAAA kopieren, bis wieder eine spitze Klammer kommt (Die Klammer nicht mit kopieren!)
    Ich hoffe das ist jetzt etwas klarer… 😉

  3. Leider klappt das bei mir nicht. Ich sehe dieses c:ModificationDate… nicht, dabei habe ich das Bild mit dem Texteditor geöffnet. Kannst du mri helfen?

  4. Okay, jetzt habe ich die .contact-Datei im Notepad geöffnet und es kommt das hier raus in Zeile 4:
    7d389b8c-6f64-4b93-b8c4-f4cfbf138fcdC:\Users\mia-u\Desktop\Christine ragaie.jpgUserTileChristine RagaieRagaieChristineSMTPChristine.Ragaie@kempinski.comPreferredRed Sea Egypt84711SafagaSoma Bay P.O. Box 15BusinessPersonal+201224666212Pager+20653561600FaxBusiness+20653561500VoiceBusinessCellularFaxPersonalVoicePersonalhttp://kempinski.com/somabayBusinessPersonalAssistent Director of SalesKempinksi Hotel Soma BayBusiness

    nur leider weiß ich jetzt nicht, was davon ich nehmen soll :/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.