在开发应用程序时,有时我们需要在WinForms应用程序中预览PDF文件。本文将详细介绍如何实现这一功能。我们将使用一些开源或第三方库来简化这一过程。
环境准备
在开始之前,请确保你已经安装了以下工具和库:
安装 PdfiumViewer
PdfiumViewer 提供了一个方便的方法在WinForms应用程序中展示PDF文件。你可以通过以下命令安装这个库:
Install-Package PdfiumViewer.Core
或者在 Visual Studio 的NuGet包管理器中搜索PdfiumViewer并安装。

不要忘记了这个PdfiumViewer.Native.x86_64.v8-xfa

设计用户界面
我们需要为用户提供一个按钮来打开PDF文件,以及一个控件来显示PDF文件。
实现功能
接下来,我们将为按钮配置点击事件,以便选择和加载PDF文件。
- 在 - Form1.cs中添加如下代码:
 
using System;
using System.Windows.Forms;
using PdfiumViewer;
namespace PdfPreviewApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void buttonOpenPdf_Click(object sender, EventArgs e)
        {
            openFileDialog.Filter = "PDF Files|*.pdf";
            openFileDialog.Title = "Select a PDF File";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    var pdfDocument = PdfDocument.Load(openFileDialog.FileName);
                    pdfViewer.Document = pdfDocument;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error loading PDF: " + ex.Message);
                }
            }
        }
    }
}
测试应用程序
- 启动你的应用程序。 
- 点击“Open PDF”按钮。 
- 在文件选择对话框中选择一个PDF文件。 
- 预览PDF文件应出现于主窗体中。 

其他功能
导航PDF页面
你可以通过添加一些按钮来实现导航(例如下一页、上一页等),并将它们与 pdfViewer 的方法绑定。例如:
private void btnNext_Click(object sender, EventArgs e)
{
    if (pdfViewer1.Renderer.Page < pdfViewer1.Document.PageCount - 1)
    {
        pdfViewer1.Renderer.Page++;
    }
}
private void btnPre_Click(object sender, EventArgs e)
{
    if (pdfViewer1.Renderer.Page > 0)
    {
        pdfViewer1.Renderer.Page--;
    }
}
缩放功能
你还可以添加缩放功能,例如缩放为合适窗口大小或者实际大小:
private void btnZoomIn_Click(object sender, EventArgs e)
{
    pdfViewer1.Renderer.ZoomIn();
}
private void btnZoomOut_Click(object sender, EventArgs e)
{
    pdfViewer1.Renderer.ZoomOut();
}

取得文字
var txt= pdfDocument.GetPdfText(1);
总结
通过本文,我们学习了如何在WinForms应用程序中使用 PdfiumViewer 库预览 PDF 文件。使用这个库,我们可以轻松地加载和显示 PDF 文档,并实现基本的导航和缩放功能。希望这些示例和步骤能帮助你在自己的应用程序中实现PDF预览功能。
阅读原文:原文链接
该文章在 2025/2/5 17:59:32 编辑过