UWP - 打印webview
我想在UWP应用程序中打印WebView内容。UWP - 打印webview
我已经设置了我的WebView接受一个HTML字符串,这工作得很好:
<WebView
ext:HtmlExtension.HtmlString="{Binding HtmlString}"
x:Name="MyWebView"
Grid.Row="1"
Grid.Column="0"
/>
我注意到MSDN这虽然:
承载内容关闭UI网页视图线程与需要将手势从WebView控件传播到父级的父控件(例如FlipView,ScrollViewer和其他相关控件)不兼容。这些控件将无法接收在脱机线程WebView中启动的手势。 此外,不直接支持打印线程外Web内容 - 您应该使用WebViewBrush填充来打印元素。
现在我完全困惑。
可有人请解释如何,我可以:
- 创建WebViewBrush给我有一个的WebView
- 如何再打印此WebViewBrush
任何帮助是极大的赞赏。谢谢。
您可以使用下面的代码来创建一个WebViewBrush:
WebViewBrush wvBrush = new WebViewBrush();
wvBrush.SetSource(myWebView);
wvBrush.Redraw();
myRect.Fill = wvBrush;
XAML:
<WebView Name="myWebView" Source="http://www.google.com" Width="1024" Height="500" LoadCompleted="myWebView_LoadCompleted"/>
<Rectangle Name="myRect" Width="1024" Height="500"/>
然后web视图的静态内容将被渲染到Rechtangle
就像一个图片。而您可以打印Rechtangle
。
对于印刷,我建议你通过Print from your app阅读。还有一个官方样本供您参考:UWP Print Sample。
您好,非常感谢您的回复。我终于想出了如何让刷子工作,我还没有让印刷工作,虽然(我已经尝试了你链接到的打印样本 - 但我遇到了问题,打印'刷新的'FrameworkElement'因为样本似乎打印XAML'Page'对象)。我在http://stackoverflow.com/questions/39033318/how-to-save-webviewbrush-as-image-uwp-universal上提出了一个关于打印问题的信息 - 希望如果你有机会,你可能能够一些启发?谢谢 – b85411
ON-THREAD直接印刷如何?它应该得到支持。 –