当前位置: 首页 > wzjs >正文

网站alt标签外贸网站优化

网站alt标签,外贸网站优化,长春今天最新通告,网站流量超了使用自带的WebView2控件显示PDF文件 第一种方式:WebView2库导入使用NuGet第二种方式:使用PDF第三方库显示 第一种方式:WebView2库导入使用NuGet 工具–>NuGet包管理器–>管理解决方案的NuGet程序包,搜索WebView2安装 xaml…

使用自带的WebView2控件显示PDF文件

  • 第一种方式:WebView2库导入使用NuGet
  • 第二种方式:使用PDF第三方库显示

第一种方式:WebView2库导入使用NuGet

工具–>NuGet包管理器–>管理解决方案的NuGet程序包,搜索WebView2安装

xaml中加入

xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"

如下:

<Page x:Class="zAssist.PdfView"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"xmlns:local="clr-namespace:zAssist"mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="800"Title="PdfView"><Grid Background="White"><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/></Grid.RowDefinitions><Button x:Name="btnBack"Background="Transparent"HorizontalAlignment="Left"VerticalAlignment="Top"Content="Sign in" FontSize="20"Width="150" Height="35"Click="btnBack_Click"><Button.Template><ControlTemplate TargetType="Button"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Image Grid.Column="0" x:Name="btnImage" Stretch="None"><Image.Style><Style TargetType="Image"><Setter Property="Source" Value="/Resources/back.png"/><Style.Triggers><DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Button}}" Value="True"><Setter Property="Source" Value="/Resources/back.png"/></DataTrigger><DataTrigger Binding="{Binding IsPressed, RelativeSource={RelativeSource AncestorType=Button}}" Value="True"><Setter Property="Source" Value="/Resources/back.png"/></DataTrigger></Style.Triggers></Style></Image.Style></Image><TextBlock Grid.Column="1" Text="{TemplateBinding Content}"VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/></Grid></ControlTemplate></Button.Template></Button><!--用于显示Pdf 的 WebView2控件--><wv2:WebView2 Grid.Row="1" Name="webView" Loaded="WebView_Loaded"/>        </Grid>
</Page>

代码块:

using PdfViewer.Enums;
using System.ComponentModel;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Resources;
using System.Windows.Shapes;namespace zAssist;/// <summary>
/// PdfView.xaml 的交互逻辑
/// </summary>
public partial class PdfView : Page
{public PdfView (){InitializeComponent();this.DataContext = this;}private void btnBack_Click(object sender, RoutedEventArgs e){NavigationService.GetNavigationService(this).GoBack();//返回上一个界面,保持之前的操作}private void WebView_Loaded(object sender, RoutedEventArgs e){InitializeAsync();}private async void InitializeAsync(){await webView.EnsureCoreWebView2Async(null);//	webView.CoreWebView2.Navigate(Properties.Settings.Default.UrlForget);//必须绝对路径,下面两种方式都可以Uri pdfPath = new Uri(@"file:///E:/Tools/zSolution/Resources/files/test.pdf", UriKind.Absolute);//webView.CoreWebView2.Navigate(@"file:///E:/Tools/zSolution/Resources/files/test.pdf");webView.Source = pdfPath;}
}

第二种方式:使用PDF第三方库显示

使用NuGet 导入 PdfiumViewer.Native.x86.v8-xfa、PdfiumViewer.Native.x86_64-xfa、PropertyChanged.Fody(通知) 和第三方库 PdfiumViewer,在.Net Core工程种PdfiumViewer 库安装了但是不能使用,本人到github中把PdfiumViewer源码下载拿到测试代码移植到我的工程中的,PdfiumViewer github存放位置在NuGet中有
上代码:

<Page x:Class="zAssist.PdfView"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:zAssist"xmlns:pdfiumViewer="clr-namespace:PdfViewer;assembly=PdfViewer"xmlns:core="clr-namespace:PdfViewer.Core;assembly=PdfViewer"mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="800"Title="PdfView" Loaded="Page_Loaded"><Grid Background="White"><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/></Grid.RowDefinitions><Button x:Name="btnBack" Background="Transparent"HorizontalAlignment="Left"VerticalAlignment="Top"Content="Register" FontSize="20"Width="120" Height="30" Click="btnBack_Click"><Button.Template><ControlTemplate TargetType="Button"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Image Grid.Column="0" x:Name="btnImage" Stretch="None"><Image.Style><Style TargetType="Image"><Setter Property="Source" Value="/Resources/back.png"/><Style.Triggers><DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Button}}" Value="True"><Setter Property="Source" Value="/Resources/back.png"/></DataTrigger><DataTrigger Binding="{Binding IsPressed, RelativeSource={RelativeSource AncestorType=Button}}" Value="True"><Setter Property="Source" Value="/Resources/back.png"/></DataTrigger></Style.Triggers></Style></Image.Style></Image><TextBlock Grid.Column="1" Text="{TemplateBinding Content}"VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/></Grid></ControlTemplate></Button.Template></Button><pdfiumViewer:PdfRenderer Grid.Row="1" Name="Renderer" Padding="10"/><StackPanel Grid.Row="1"Background="Transparent"Orientation="Vertical"VerticalAlignment="Center"HorizontalAlignment="Right"Width="40"><Button ToolTip="Previous Page" Click="OnPrevPageClick"><Image Source="Resources/prev.png" /></Button><TextBlock VerticalAlignment="Center" FontSize="14"><Run Text="{Binding Page, Mode=OneWay}"/><Run Text="/"/><Run Text="{Binding ElementName=Renderer, Path=PageCount, Mode=OneWay}"/></TextBlock><Button ToolTip="Next Page" Click="OnNextPageClick"><Image Source="Resources/next.png" /></Button><Button ToolTip="Zoom in" Click="OnZoomInClick"><Image Source="Resources/zoom_in.png" /></Button><TextBlock VerticalAlignment="Center" FontSize="14"><Run Text="{Binding ZoomPercent, Mode=OneWay}"/><Run Text="%"/></TextBlock><Button ToolTip="Zoom out" Click="OnZoomOutClick"><Image Source="Resources/zoom_out.png" /></Button><Button ToolTip="Fit Width" Click="OnFitWidth"><Image Source="Resources/fit_width.png" /></Button><Button ToolTip="Fit Height" Click="OnFitHeight"><Image Source="Resources/fit_height.png" /></Button></StackPanel></Grid>
</Page>
using PdfViewer.Enums;
using System.ComponentModel;
using System.IO;
using System.Runtime.CompilerServices;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Resources;namespace zAssist;/// <summary>/// PdfView.xaml 的交互逻辑/// </summary>
public partial class PdfView : Page, INotifyPropertyChanged
{public PrivacyNoticeView(){InitializeComponent();this.DataContext = this;Renderer.PropertyChanged += delegate{OnPropertyChanged(nameof(Page));OnPropertyChanged(nameof(ZoomPercent));};Renderer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;Renderer.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;Renderer.MaxToFitWidth(true);}private void btnBack_Click(object sender, RoutedEventArgs e){OnClosePdf();NavigationService.GetNavigationService(this).GoBack();//返回上一个界面,保持之前的操作}public double ZoomPercent{get => (int)(Renderer.Zoom * 100);}public int Page{get => Renderer.PageNo + 1;set => Renderer.GotoPage(Math.Min(Math.Max(value - 1, 0), Renderer.PageCount - 1));}private void OpenPdf(){StreamResourceInfo info = App.GetResourceStream(new Uri(@"Resources\files\TermsAndConditions.pdf", uriKind: UriKind.Relative));using (var mem = new MemoryStream()){info.Stream.CopyTo(mem);Renderer.OpenPdf(mem);}}private void OnPrevPageClick(object sender, RoutedEventArgs e){Renderer.PreviousPage();}private void OnNextPageClick(object sender, RoutedEventArgs e){Renderer.NextPage();}private void OnFitWidth(object sender, RoutedEventArgs e){Renderer.SetZoomMode(PdfViewerZoomMode.FitWidth);}private void OnFitHeight(object sender, RoutedEventArgs e){Renderer.SetZoomMode(PdfViewerZoomMode.FitHeight);}private void OnZoomInClick(object sender, RoutedEventArgs e){Renderer.ZoomIn();}private void OnZoomOutClick(object sender, RoutedEventArgs e){if (Renderer.Zoom > 0.5){Renderer.ZoomOut();}}public event PropertyChangedEventHandler PropertyChanged;protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}private async void OnClosePdf(){try{Renderer.UnLoad();await Task.Delay(5000);}catch (Exception exception){Console.WriteLine(exception);}}private void Page_Loaded(object sender, RoutedEventArgs e){OpenPdf();}
}
http://www.dtcms.com/wzjs/119526.html

相关文章:

  • 住房和城乡建设部网站村镇建设站长资源平台
  • 谈谈你对企业网站的页面设计百度网
  • 美女做基网站昆明新闻头条最新消息
  • 微信公众号怎么创建步骤网站关键词优化排名公司
  • 做网站work什百度app登录
  • 江苏专业做网站的公司哪家好网络广告营销成功案例
  • asp网站部署 iis7国外域名购买
  • 小说网站开发流程最佳的搜索引擎
  • 做网站的公司高创简单的个人网页制作html
  • 网站开发流程包括外贸网站seo教程
  • 常德网站开发公司百度seo点击工具
  • 购物网站大全棉鞋qq刷赞网站推广快速
  • 长安英文网站建设全网seo优化电话
  • 网站海外推广方案构建新发展格局
  • 网站规划与制作网站制作的服务怎么样
  • 云主机建多个网站杭州排名推广
  • 网站建设 专用术语百度站长平台账号购买
  • 东莞做企业网站营销助手
  • wordpress b站播放seo品牌优化整站优化
  • 网站开发管理方案公司企业网站制作
  • wordpress 4.9 站群网站优化 秦皇岛
  • 汕头网站建设详细内容百度seo关键词排名s
  • 广东嵘通建设福州百度首页优化
  • 柳州网站建设找哪家好网络营销推广方法
  • 南通市建设委员会网站关键词优化排名软件推荐
  • 用织梦建网站杭州百度seo优化
  • 网站设计费用一览表网络整合营销理论
  • 做图书网站赚钱么百度端口开户推广
  • 安阳县妇幼保健院pc优化工具
  • 个人怎么做网站排名优化近期热点新闻