[Erledigt] HTML => Metafile (Ausgehend von TCppWebBrowser [VCL] oder IWebBrowser [COM])
-
SOLL
Eine an die Webbrowserkomponente des IE (7+; Hintergrund ist das erst der IE7 aufwärts die HTML so wie gewünscht darstellt) übergebene und gerendert HTML-Seite (unter [optionaler] Vorgabe einer Mindestbreite in Pixeln) soll von diesem, mit möglichst geringen Darstellungsverlusten, in ein Metafile geschrieben werden (Hintergrund hierbei ist die gemeinsame Verwendung einer vorhandenen Druckvorschau).Gegeben ist hierbei ein Zielbereich in einem Windows Metafile. Das HTML muss dabei (unter Berücksichtigung des Höhen- und Seitenverhältnis) in diesen Ausschnitt des Metafiles skaliert geschrieben werden. Über ein boolischen Wert soll dabei entschieden werden können ob eine 90° Drehung erlaubt ist, wenn dadurch der Zielbereich besser ausgenutzt werden kann.
Die Webbrowserkomponente soll dabei unsichtbar im Hintergrund bleiben.
Ziel ist Sourcecode der sich möglichst 1:1 auf den C++ Builder übertragen lässt (z.B. C bzw. C++ Code der mit der WindowsAPI auskommt, oder alternativ Code speziell für den C++ Builder [ggf. auch als VCL-Komponente]). Aktuell wird zur HTML Darstellung die VCL-Komponente TCppWebBrowser verwendet, was im wesentlichen ein 1:1 Wrapper um das IWebBrowser-COM Interface darstellt.
Das Ergebnis muss als für uns frei verfügbarer Code (Sei es C++, sei es bei der VCL ggf. auch Delphi) vorliegen.
Es muss zudem eine sichtbare Verbesserung zum aktuellen IST-Zustand sein.
IST
Aktuell erreichen wir die Skalierung und Übertragung durch ein Bereichsweises kopieren (Über Bitmaps & GDI+), und anschließender Bildskalierung in den Zielbereich. Die Darstellung ist zwar für den Monitor noch relativ gut lesbar, spätestens auf der Druckausgabe sieht das ganze aber recht Unscharf aus.Bei Interesse (oder weiteren Fragen) wenn möglich mit grober Kostenabschätzung bei mir melden.
cu André