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:
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.
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.