Die Lösung für dieses Problem findet sich in einem wenig bekannten Teil des Microsoft-Office-Systems: Microsoft Office Document Imaging (MODI). MODI installiert sich automatisch als Bestandteil des Microsoft-Office-2003-Systems. Es fungiert wie ein installierter Drucker, so dass man damit von jeder Software aus drucken kann. Es verwendet ein eigenes Dokumentenformat, das ähnlich wie PDF funktioniert. Die Software kann Dokumente außerdem als TIFF-Dateien speichern.
Die MODI-Funktionalität ist der Schlüssel zur Lösung. Indem man über den MODI-Drucker druckt und dann die Kontrolle über den MODI-Prozess übernimmt, können Bilder mit extrem hoher Auflösung und großer Farbtiefe in jedem gewünschten Format abgespeichert werden. Gerade dieser letzte Punkt ist wichtig, denn TIFF-Dateien sind wegen ihrer verlustfreien Komprimierung häufig extrem groß. Nicht jeder Benutzer verfügt über Software zum Anzeigen und Bearbeiten von TIFF-Dateien, und viele Programme können mit dem Format nichts anfangen. Benutzer sind häufig gezwungen, eine TIFF-Datei in einem Bildbearbeitungsprogramm zu öffnen, das gesamte Bild zu markieren und dann per Copy-and-Paste in die gewünschte Anwendung einzufügen. Wenn man das Bild in jedem gewünschten Format abspeichern kann, gibt man die Kontrolle wieder an den Endbenutzer zurück.
Nachteile und Schwierigkeiten
Der Hauptnachteil dieser Technik besteht darin, dass man den MODI-Prozess für jedes gespeicherte Bild starten und stoppen muss. Darüber hinaus startet das Drucken über den MODI-Drucker MODI zwar, schließt es aber nicht wieder automatisch. Um den Code benutzerfreundlicher zu machen, muss daher auf die Methoden des .NET Frameworks zur Verwaltung von Prozessen zurückgegriffen werden, um MODI nach der Benutzung auch wieder zu schließen.
Der Code
Die folgende Liste fasst alle Schritte zusammen, die man durchführen muss, um das Bild aus Mappoint herauszuholen und im gewünschten Format abzuspeichern:
- Mit dem MODI-Druckertreiber drucken.
- MODI kontrollieren, um das MODI-Dokument ins TIFF-Format zu konvertieren.
- MODI schließen.
- Das TIFF-Dokument öffnen und auf die gewünschte Größe skalieren.
- Die Datei unter dem gewünschten Dateinamen und im gewünschten Format speichern (hier wird von einem Standard-Bitmapformat ausgegangen).
- MODI-Dokument und TIFF-Datei löschen.
Die folgenden Seiten zeigen den Code, mit dem dies erreicht wird. Das Einzige, worauf man achten muss, ist, dass die Variable TempFiles eine Instanz einer selbst geschriebenen Klasse ist, die temporäre Dateien verwaltet, und anderswo in der Anwendung instantiiert wird. Der Code für diese Klasse ist ebenfalls angegeben.
Neueste Kommentare
Noch keine Kommentare zu So klappt’s: Mappoint-Bilder mithilfe von VB.NET extrahieren
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.