印章管理项目后续准备实现打开浏览PDF文件并进行盖章的功能,需要在Winform中使用控件在线浏览PDF文件,在网上找了几个开源的PDF浏览控件进行测试,以便应用于印章管理项目。本文测试调用PdfiumViewer模块打开及浏览PDF文件。
PdfiumViewer是C#封装的、基于PDFium项目的浏览组件,支持.net framework和.net core等运行时版本(有不同的package包),主要的类及控件包括:
1)PdfDocument类,用于打开及访问PDF文件;
2)PdfRenderer控件,用于显示PDF文件,提供多种浏览PDF文件(如缩放、滚动等)的操作函数;
3)PdfViewer控件,进一步封装PdfRenderer控件,提供包含打印、另存、缩放等功能的工具条,支持按页导航PDF文件。
根据GitHub主页的介绍,PdfViewer控件需要PDFium库,但安装PdfiumViewer包时不会同步安装,需要手动安装相应文件。
使用VS2022创建基于.net 8的窗体应用,在Nuget包管理器中搜索并安装如下包,其中第二个包即PdfViewer控件所依赖的PDFium库相关文件。
PdfiumViewer.Core
PdfiumViewer.Native.x86_64.v8-xfa
&emsp包安装后,在工具箱中会出现PdfiumViewer相关的控件列表,如下图所示:
PdfRenderer控件和PdfViewer控件的使用都比较简单,只需将控件拖拽到窗口中,然后执行以下代码即可打开并浏览PDF文档。
PdfRenderer控件的使用及运行效果截图如下所示:
pdfRenderer1.Load(PdfiumViewer.PdfDocument.Load(txtPath.Text));
PdfViewer控件的使用及运行效果截图如下所示:
pdfViewer1.Document=PdfiumViewer.PdfDocument.Load(txtPath.Text);
PdfiumViewer的GitHub官网中带有更详细的使用示例,有兴趣的可以下载试用。
参考文献:
[1]https://github.com/pvginkel/PdfiumViewer