Kann ich Awesomeium in einer Webanwendung verwenden?
Ich versuche, einen HTML-Code zu rendern, um ihn in ein Bild zu exportieren und dieses Bild dann zum Einfügen in ein PDF-Dokument zu verwenden. Ich mache alles in einer asp.net/C# Webanwendung. Das Problem, das ich habe, ist, dass, wenn ich das mehr als einmal tue, es mir diesen Fehler gibt:
You are attempting to re-initialize the WebCore. The WebCore must only be initialized once per process and must be shut down only when the process exits.
Das ist mein Code:
WebCore.Initialize(new WebConfig(), false);
using (WebView webView = WebCore.CreateWebView((pdfWidth - 80).ToString().ToInt() + 20, (pdfHeight / 2).ToString().ToInt() + 20))
{
webView.LoadHTML(html);
while (webView.IsLoading || !webView.IsDocumentReady)
WebCore.Update();
Thread.Sleep(1100);
WebCore.Update();
string fileName = Server.MapPath("result." + DateTime.Now.Second.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Millisecond.ToString() + ".png");
BitmapSurface surface = (BitmapSurface)webView.Surface;
surface.SaveToPNG(fileName, true);
WebCore.Shutdown();
}
Ich stelle mir vor, dass ich den WebCore nicht jedes Mal initialisieren kann, wenn die Webseite gerendert wird, also habe ich ihn in die Datei Global.asax eingefügt. Danach trat beim Debuggen ein weiterer Fehler auf:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt. The current thread is not currently running code or the call stack could not be obtained.
Irgendwelche Ideen wie kann ich das machen?
Vielen Dank