栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

WPF MVVM框架下查看PDF文件

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WPF MVVM框架下查看PDF文件

一、
本篇将介绍使用MoonPdf类库来展示PDF文件,让其能在WPF项目页面中显示PDF文件内容。

  1. 首先在项目管理NuGet程序包选项中下载安装MoonPdfLib;

  2. 工程中添加对MoonPdfLib.dll的引用,另外记得将libmupdf.dll放置于WPF工程Bin文件下

  3. 页面添加 xmlns:mpp=“clr-namespace:MoonPdfLib;assembly=MoonPdfLib” 引用

mpp:MoonPdfPanel则用来装载要显示的pdf文件。


            
                
            
            
            
                
                    
                    
                
                
                    
                
                
                    
                        
                        
                        
                        
                        
                        
                        
                    
                
            
        
  1. 然后在后台获取需要加载的文件路径,注意用moonPdfPanel.OpenFile(FilePath); 打开文件路径时必须要在页面完成加载之后才能执行,否则pdf文件就不会显示出来的;
 public MaintenanceDataFilePage()
        {
            InitializeComponent();
            //接收路径
            Messenger.Default.Register(this, MessageCenter.MSG_ROUTINGDATAPATH_INFO, OpenDataFile);
        }
        //记录文件路径
        string FilePath = "";
        private bool IsLoadedFlie = false;//记录文件是否显示
        //页面加载完成事件
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                moonPdfPanel.OpenFile(FilePath);
                IsLoadedFlie = true;
            }
            catch (Exception)
            {
                IsLoadedFlie = false;
            }
        }
        //读取文件
        private void OpenDataFile(string path)
        {
            FilePath = path;
        }
        //放大
        private void ZoomInButton_Click(object sender, RoutedEventArgs e)
        {
            if (IsLoadedFlie)
            {
                moonPdfPanel.ZoomIn();
            }
        }
        //缩小
        private void ZoomOutButton_Click(object sender, RoutedEventArgs e)
        {
            if (IsLoadedFlie)
            {
                moonPdfPanel.ZoomOut();
            }
        }
        //100%
        private void NormalButton_Click(object sender, RoutedEventArgs e)
        {
            if (IsLoadedFlie)
            {
                moonPdfPanel.Zoom(1.0);
            }
        }
        //整页
        private void FitToHeightButton_Click(object sender, RoutedEventArgs e)
        {
            if (IsLoadedFlie)
            {
                moonPdfPanel.ZoomToHeight();
            }
        }
        //单页
        private void FacingButton_Click(object sender, RoutedEventArgs e)
        {
            if (IsLoadedFlie)
            {
                moonPdfPanel.ViewType = MoonPdfLib.ViewType.Facing;
            }
        }
        //双页
        private void SinglePageButton_Click(object sender, RoutedEventArgs e)
        {
            if (IsLoadedFlie)
            {
                moonPdfPanel.ViewType = MoonPdfLib.ViewType.SinglePage;
            }
        }

二、运行程序,打开pdf文件效果

文件libmupdf.dll下载和案例参考地址:

https://blog.csdn.net/qq_36242487/article/details/79412247

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号