插件

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。 在该处理程序中,您可以指示网页是否允许使用所请求的插件。

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

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 查看器

PDF 查看器工具栏

默认情况下,PDF Viewer 显示内置控件,如缩放按钮、包含文件名、页码、旋转下载打印按钮的工具栏。 您可以在 URL 末尾添加 #toolbar=0 来隐藏这些控件。

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

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

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

无工具栏

禁用 PDF 查看器

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

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

受密码保护的 PDF

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

加密的 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