Avalonia跨平台嵌入浏览器的方法
Avalonia跨平台web嵌入浏览器的方法 最常用的是cef
https://gitcode.com/AvaloniaCommunity/awesome-avalonia/overview#web-browsers?utm_source=csdn_github_accelerator&isLogin=1
这里列了几种web方案,有些不支持linux,cefnet尝试了下,linux也能用,但需要系统重某些依赖包要升级,导致安装比较麻烦。
Web Browsers
- CefGlue - .NET/Mono binding for The Chromium Embedded Framework (CEF).
- CefNet - .NET binding for the Chromium Embedded Framework (CEF).
- DotNetBrowser - Premium Chromium web browser control for Windows, macOS and Linux.
- OutSystems WebView - Fully featured Avalonia WebView Control.
- Avalonia BlazorWebView & Avalonia WebView - Native host webview for avalonia, which used the features of platform.
因此尝试以下方案:
Avalonia.HtmlRenderer,看起来还不错
https://github.com/AvaloniaUI/Avalonia.HtmlRenderer/tree/master
NuGet: https://www.nuget.org/packages/Avalonia.HtmlRenderer/11.0.0
HTML Renderer AddFontFamily
_htmlPanel.Container.AddFontFamily(new FontFamily(
new Uri("avares://HtmlRenderer.Demo.Avalonia/fonts/CustomFont.ttf"),
"1 Smoothy DNA"));
上面代码Container.报错。改成下面的:
var f = new FontFamily(
new Uri("avares://AvaloniaAAA/Assets/Fonts/KaiTi.ttf"),
"KaiTi");
HtmlRender.AddFontFamily(f);
htmlPanel.Text = @"<p style=""font: 20px 'KaiTi'"">参数 <b><img src=""https://image.wjx.com/images/index/assessment.png""></b> sq</p><table border=""1"">