문제는 WebView를 만드는 동안 너비와 높이가 설정되고 페이지를로드 한 후 실제 크기를 알 수있는 옵션이 표시되지 않는다는 것입니다. 당신이받은 후 대신 새로운 웹보기를 만드는 ...전체 페이지 스크린 샷을 검색하는 방법은 awesomium입니까?
static bool finishedLoading;
static bool finishedScroll;
static ScrollData scrollData;
static void Main(string[] args)
{
WebCore.Initialize(new WebCoreConfig() { CustomCSS = "::-webkit-scrollbar { visibility: hidden; }" });
var webView1 = WebCore.CreateWebView(800, 600, false);
webView1.LoadURL("http://someurl");
webView1.LoadCompleted += OnFinishLoading;
while (!finishedLoading)
{
Thread.Sleep(100);
WebCore.Update();
}
webView1.RequestScrollData();
webView1.ScrollDataReceived += new ScrollDataReceivedEventHandler(ScrollDataReceived);
while (!finishedScroll)
{
Thread.Sleep(100);
WebCore.Update();
}
var webView2 = WebCore.CreateWebView(scrollData.ContentWidth, scrollData.ContentHeight, false);
finishedLoading = false;
webView2.LoadURL("http://someUrl");
webView2.LoadCompleted += OnFinishLoading;
while (!finishedLoading)
{
Thread.Sleep(100);
WebCore.Update();
}
webView2.Render().SaveToPNG("filePath");
WebCore.Shutdown();
}
static void ScrollDataReceived(object sender, ScrollDataEventArgs e)
{
finishedScroll = true;
scrollData = e.ScrollData;
}
static void OnFinishLoading(object sender, EventArgs e)
{
finishedLoading = true;
}
내가 더 나은 방법이 희망
고맙습니다. 매우 유용했습니다. Resharper가 "크기"를 입력 할 때 Resharper가 표시하지 않는 것처럼 Resize 메서드를 놓쳤습니다. ( – SiberianGuy
안녕하세요 @ 아담, 현재 웹킷을 PDF로 변환하려고하는 WebKit (Qt 또는 Gtk와 같은 래퍼 사용 중)을 평가 중입니다. http://wkhtmltopdf.org에서 PDF를 제작하는 것이 다소 좋은 것으로 판명되었지만 (때때로 PDF를 제대로 렌더링 할 수없는 경우도 있음) 이제 Awesomium을보고 답변에서 언급 한 것처럼 스크린 샷 기능을 테스트하는 중입니다. 따라서 awesomium에는 PDF 변환 기능이 내장되어 있습니까? 아니면 직접 구현해야하는 것입니까? 감사합니다. – swdev
자습서 링크를 업데이트 할 수 있습니까? –