So klappt’s: Mappoint-Bilder mithilfe von VB.NET extrahieren

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:

  1. Mit dem MODI-Druckertreiber drucken.
  2. MODI kontrollieren, um das MODI-Dokument ins TIFF-Format zu konvertieren.
  3. MODI schließen.
  4. Das TIFF-Dokument öffnen und auf die gewünschte Größe skalieren.
  5. Die Datei unter dem gewünschten Dateinamen und im gewünschten Format speichern (hier wird von einem Standard-Bitmapformat ausgegangen).
  6. 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.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Microsoft stellt kleines KI-Modell Phi-3 Mini vor

Seine Trainingsdaten umfassen 3,8 Milliarden Parameter. Laut Microsoft bietet es eine ähnliche Leistung wie OpenAIs…

2 Tagen ago

Google schließt kritische Sicherheitslücke in Chrome

Sie erlaubt eine Remotecodeausführung außerhalb der Sandbox. Betroffen sind Chrome für Windows, macOS und Linux.

2 Tagen ago

Microsoft beseitigt Fehler im März-Sicherheitsupdate für Exchange Server

Probleme treten vor allem bei Nutzern von Outlook Web Access auf. Das optionale Hotfix-Update für…

3 Tagen ago

Neue iPads: Apple kündigt Event für 7. Mai an

Die Einladung zeigt einen zeichnenden Apple Pencil. Der wiederum deutet auf neue iPads hin. Es…

3 Tagen ago

EU-Parlament stimmt für Recht auf Reparatur

Die Richtlinie erhält 584 Ja-Stimmen und 3 Gegenstimmen. Das „Recht auf Reparatur“ beinhaltet unter bestimmten…

3 Tagen ago

Forscher entwickeln Exploits per GPT-4 aus Sicherheitswarnungen

Die Tests basieren auf tatsächlich existierenden Sicherheitslücken. GPT-4 erreicht eine Erfolgsquote von 87 Prozent. Alle…

4 Tagen ago