Gegeben ist ein relativ kurzes HTML-Dokument, welches ich so, wie es im Browser angezeigt würde, als PNG-Bild rendern und an den Client senden möchte. Wie kann ich von .NET aus HTML als Bild rendern?
Ich habe bereits erwogen, das WebBrowser-Control von WinForms zu nehmen, aber da das rendern in ASP.NET passieren soll, will ich auf keinen Falls mit WinForms arbeiten. Da sind Probleme vorprogrammiert, wie z.B. dass das Windowing-System in einem Windows-Service nicht verfügbar ist usw.
Könnte man vielleicht Gecko oder Webkit veranlassen, zu rendern? Wie mache ich das am zeitsparendsten? Ich habe keine Lust, die Engine einen Tag lang einrichten zu müssen. Performance ist erstmal zweitrangig.
Als wir thumbscreator.net umgesetzt haben, standen wir vor einer ähnlichen Entscheidung. Da die Aufgabenstellung ein wenig anders war, nur die Images für ASP.NET vorhalten, haben wird das WebBrowser-Control verwendet und die Thumbs in einer Datenbank gespeichert.
Schau dir mal Screenshot of Webpage with ASP.NET an. Dein HTML kannst du ja lokal veröffentlichen und mit dem Tool darauf zugreifen (Leistung ist ja nicht wichtig wie du sagst).
Oh oh, dieser Ansatz verwendet auch ein Internet Explorer Fenster und macht im Prinzip nen Screenshot davon. Das finde ich etwas riskant das aus nem IIS-Worker heraus zu starten. Weißt du ob das klappt, wenn der aktuelle User der IUSR ist und man sich in einer nicht-interaktiven Session befindet? Ist ja immerhin schon out-of-process was die Fehlertolleranz erhöht.