在开发应用程序时,有时我们需要在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 编辑过