博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF中查看PDF文件
阅读量:6294 次
发布时间:2019-06-22

本文共 2539 字,大约阅读时间需要 8 分钟。

原文:

需要打开PDF文件时,我们第一印象就是使用Adobe Reader。在开发中,经常会遇到需要展示PDF文件的需求。我们会借助于Adobe Reader的Active控件来实现。不过这需要客户的机器上安装有Adobe Reader,并且使用Adobe Reader的Active控件会在顶部有一个隐藏不了的工具栏。这样显然不合理。

在Github上看到一个非常好的WPF中承载PDF文件的类库。

使用非常简单,本篇博客将介绍使用MoonPdf类库来展示PDF文件。在上下载到MoonPdf编译好的Dll。下面通过一个WPF程序来演示,

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

2. 代码:

XAML:

C#:

public partial class MainWindow : Window    {        private bool _isLoaded = false;        public MainWindow()        {            InitializeComponent();        }        private void FileButton_Click(object sender, RoutedEventArgs e)        {            var dialog = new OpenFileDialog();            if (dialog.ShowDialog().GetValueOrDefault())            {                string filePath = dialog.FileName;                try                {                    moonPdfPanel.OpenFile(filePath);                    _isLoaded = true;                }                catch (Exception)                {                    _isLoaded = false;                }            }        }        private void ZoomInButton_Click(object sender, RoutedEventArgs e)        {            if(_isLoaded)            {                moonPdfPanel.ZoomIn();            }        }        private void ZoomOutButton_Click(object sender, RoutedEventArgs e)        {            if(_isLoaded)            {                moonPdfPanel.ZoomOut();            }        }        private void NormalButton_Click(object sender, RoutedEventArgs e)        {            if(_isLoaded)            {                moonPdfPanel.Zoom(1.0);            }        }        private void FitToHeightButton_Click(object sender, RoutedEventArgs e)        {            moonPdfPanel.ZoomToHeight();        }        private void FacingButton_Click(object sender, RoutedEventArgs e)        {            moonPdfPanel.ViewType = MoonPdfLib.ViewType.Facing;        }        private void SinglePageButton_Click(object sender, RoutedEventArgs e)        {            moonPdfPanel.ViewType = MoonPdfLib.ViewType.SinglePage;        }    }

3. 运行程序,打开PDF文件,

代码点击下载。

MoonPdf的原理是将Pdf文件转成了图片文件,然后再显示出来的。MoonPdf的开发者在上的这篇文章介绍了MoonPdf了,非常不错。

感谢您的阅读。

转载地址:http://cuuta.baihongyu.com/

你可能感兴趣的文章