插件

DotNetBrowser 支持 Chromium 插件。 本指南描述了如何获取有关所有已安装和可用的 Chromium 插件的信息,如何在网页上启用或禁用指定的插件,以及其他操作。

使用 IPlugins 获取有关所有可用插件的信息,并在网页上启用/禁用插件。 默认情况下,所有插件都是启用的。

插件与 Profiles 相关联。 如果要获取特定 ProfilePlugins 服务,请使用 Profile.Plugins() 方法。 IEngine.Plugins() 的使用返回默认配置文件的 Plugins 服务。

默认情况下启用所有插件。

安装的插件

要获取有关所有已安装和可用插件的信息,请使用以下代码示例:

foreach (Plugin plugin in engine.Profiles.Default.Plugins.AvailablePlugins)
{
    string name = plugin.Name;
    string description = plugin.Description;
    string version = plugin.Version;
}
For Each plugin As Plugin In engine.Profiles.Default.Plugins.AvailablePlugins
    Dim name As String = plugin.Name
    Dim description As String = plugin.Description
    Dim version As String = plugin.Version
Next

过滤插件

每当网页需要访问插件时,都会使用 AllowPluginHandler 。 在此处理程序中,您可以指示网页是否允许请求的插件。

以下示例演示如何拒绝所有具有 application/pdf MIME 类型的插件:

engine.Profiles.Default.Plugins.AllowPluginHandler = 
    new Handler<AllowPluginParameters, AllowPluginResponse>(p =>
    { 
        // 获取插件 MIME 类型。
        IEnumerable<MimeType> pluginMimeTypes = p.Plugin.MimeTypes;
        // 拒绝所有 MIME 类型为“application/pdf”的插件。
        if (pluginMimeTypes.Contains(MimeType.ApplicationPdf))
        {
            return AllowPluginResponse.Deny();
        }
        return AllowPluginResponse.Allow();
    });
engine.Profiles.Default.Plugins.AllowPluginHandler = 
    New Handler(Of AllowPluginParameters, AllowPluginResponse)(Function(p)
        ' 获取插件 MIME 类型。
        Dim pluginMimeTypes As IEnumerable(Of MimeType) = p.Plugin.MimeTypes
        ' 拒绝所有 MIME 类型为“application/pdf”的插件。
        If pluginMimeTypes.Contains(MimeType.ApplicationPdf) Then
            Return AllowPluginResponse.Deny()
        End If
        Return AllowPluginResponse.Allow()
    End Function)

PDF

DotNetBrowser 支持内置的 Chromium PDF 查看器插件。 您可以使用 PDF 文件的 URL 或位于本地文件系统中的 PDF 文件显示远程网络服务器上可用的 PDF 文件:

Chromium PDF Viewer

PDF 查看器工具栏

默认情况下,PDF 查看器显示内置控件,例如缩放按钮、带有文件名的工具栏、页码、旋转下载打印按钮。 您可以通过将 #toolbar=0 添加到 URL 的末尾来隐藏这些控件。

例如, http://www.orimi.com/pdf-test.pdf#toolbar=0

对于从本地文件系统加载的 PDF,请使用以下 URL 格式:

file:///D:/Downloads/pdf-test.pdf#toolbar=0

No Toolbar

禁用 PDF 查看器

默认情况下,PDF 文件将显示在 PDF 查看器中。 要下载 PDF 而不是显示它们,请使用 IBrowserSettings.PdfViewerEnabled 属性:

engine.Profiles.Default.Plugins.Settings.PdfViewerEnabled = false;
engine.Profiles.Default.Plugins.Settings.PdfViewerEnabled = False

受密码保护的 PDF

默认情况下,加载加密 PDF 时会显示标准 Chromium 对话框:

Encrypted PDF

要以编程方式提供密码,请使用 RequestPdfDocumentPasswordHandler

// 以编程方式提供密码。
Browser.RequestPdfDocumentPasswordHandler =
    new Handler<RequestPdfDocumentPasswordParameters, RequestPdfDocumentPasswordResponse>(p
        => RequestPdfDocumentPasswordResponse.Password(Password));
' 以编程方式提供密码。
Browser.RequestPdfDocumentPasswordHandler = 
    New Handler(Of RequestPdfDocumentPasswordParameters, 
        RequestPdfDocumentPasswordResponse)(Function(p) 
            RequestPdfDocumentPasswordResponse.Password(Password))

Adobe Flash

Adobe Flash 将于 2020 年 12 月终止使用。基于 Chromium 87 及以下版本的 DotNetBrowser 在系统中安装并配置相应插件的情况下仍可使用 Flash。

从 88 版本开始,Chromium 不再支持 Flash。 DotNetBrowser 从 2.5 版本开始也不再支持它。

NPAPI 插件

从 49 版本开始,Chromium 不再支持任何 NPAPI 插件,包括 Microsoft Silverlight,DotNetBrowser 也不支持它们。

ActiveX

由于 Chromium 不支持 ActiveX,因此 DotNetBrowser 也不支持它。

Go Top