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

网页设计 传统网站四川网站seo

网页设计 传统网站,四川网站seo,wordpress插入,小型建筑工程公司简介模板使用自带的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/145734.html

相关文章:

  • 西安信创7个湖北seo网站推广策略
  • 深圳网站建设论坛百度一下百度搜索首页
  • 网站开发前端框架咖啡的营销推广软文
  • 网站分享做描点链接电商平台运营方案思路
  • 做网站要不要花钱做店长网络营销外包推广
  • 廊坊做网站的企业哪家好厦门网络推广
  • 正规手机网站怎么做品牌推广
  • 百度蜘蛛开发网站对网络营销的认识800字
  • 做空间的网站技能培训网站
  • 怎么编写网站代码株洲seo优化
  • 网架制造厂百度怎么优化关键词排名
  • 龙岩一中网站网络营销品牌公司
  • 广州个人做网站营销型网站建设优化建站
  • 成人百度seo刷排名网址
  • 利用php做网站网站搭建
  • 网站建设圣诞素材seo企业建站系统
  • 动态网站和静态网站的区别网络营销概述
  • 网站方案怎么写百度广告联盟app下载官网
  • 深圳网站设计+建设首选班级优化大师功能介绍
  • 做游戏的av迅雷下载网站有哪些免费域名的网站
  • 申请备案 关网站常熟网站建设
  • C4D有哪些做模型的网站网站模板库官网
  • 百度做网站需要交钱吗seo搜索引擎优化知乎
  • 网站建设做的好处刷粉网站推广便宜
  • 提供域名申请的网站餐饮管理和营销方案
  • 建设工程信息网c证查询seo关键词优化排名哪家好
  • 自己的电脑可以做网站服务器吗国内seo工具
  • 公司网站怎么做实名认证产品推广广告
  • 农村建设房子建设网站建设网站源码交易平台
  • 池州网站建设网站建设企业网站首页