PDFium全面解析以及应用

发布时间:2023-05-18

一、PDFium官网

PDFium是一个针对Google Chrome浏览器的PDF阅读器引擎,它的源代码开放,采用了MIT License协议。我们可以在官网对PDFium进行下载,这里提供了Windows和Linux的下载地址。 例如:https://pdfium.googlesource.com/pdfium/+/refs/tags/chromium/4280/windows/ 在官网的源码下载页面,我们可以找到PDFium的代码,其中包括了子模块的更新命令、编译命令和文档等。

二、PDFiumViewer

PDFiumViewer是在PDFium引擎上开发的PDF阅读器,它适用于Windows Vista及以上版本。PDFiumViewer以nuget添加到你的项目中。 下面是一个简单的PDFiumViewer的代码示例:

using PdfiumViewer;
using System.Drawing;
using System.Windows.Forms;
namespace Example
{
    public partial class FrmPdfViewer : Form
    {
        public FrmPdfViewer()
        {
            InitializeComponent();
            using (var docStream = MyApp.GetPdfStream())
            {
                this.pdfViewer.Load(docStream);
            }
        }
    }
}

三、PDFium阅读器

PDFium阅读器是一个基于PDFiumViewer的C#控件,它由VBForums的开发者Bob Powell创建。该控件能够在你的WinForms应用程序中,轻松地显示PDF文件。 下面是一个PDFium阅读器的代码示例:

using PdfiumViewer;
using System.Drawing;
using System.Windows.Forms;
namespace Example
{
    public partial class FrmPdfViewer : Form
    {
        public FrmPdfViewer()
        {
            InitializeComponent();
            using (var docStream = MyApp.GetPdfStream())
            {
                pdfDisplay.Load(docStream);
                pdfDisplay.ZoomMode = PdfViewerZoomMode.FitHeight;
            }
        }
    }
}

四、PDFium 接口说明

PDFium提供了一些重要的接口,可以供你使用,下面是一些代码示例:

  • 加载PDF文件:
FPDF_LoadDocument(path, password);
  • 获取总页数:
FPDF_GetPageCount(document);
  • 获取PDF页面高度:
FPDF_GetPageHeight(page);
  • 获取PDF页面宽度:
FPDF_GetPageWidth(page);
  • 绘制PDF页面:
FPDF_RenderPage(dc, page, startX, startY, width, height, 0, FPDF_ANNOT, FPDF_LCD_TEXT);

五、PDFium.dll

PDFium.dll是由PDFium提供的PDF解析库,它可以让我们完成PDF渲染、搜索和交互等功能。它对于Windows应用程序的开发特别有用。如果你出现了PDFium.dll丢失的情况,你可以到这里下载并安装Microsoft Visual C++ 2010 Redistributable Package。

六、PDFium.dll丢失怎么办

如果PDFium.dll丢失了,你可以在Windows目录中,添加PDFium.dll或者在你的程序目录中添加PDFium.dll文件。例如:

[DllImport("pdfium.dll", CharSet = CharSet.Unicode)]
extern static IntPtr FPDF_LoadMemDocument(byte[] data_buf, int size, string password);

七、PDFiumViewer帮助文档

PDFiumViewer提供了一些帮助文档,可以协助我们更好的掌握PDFium,这些文档包括在PDFiumViewer安装包中,也可以在官网上下载。 例如:https://github.com/pvginkel/PdfiumViewer/wiki/Getting-started

结语

PDFium作为一个PDF阅读器引擎,它的代码开放,应用场景广泛,凭借着自身的优异性能和易用性,如今已经成为了开发者们必备的工具之一。希望通过本篇文章的介绍,对于PDFium有更深入的了解。