Plugins

O DotNetBrowser suporta plugins Chromium. Este guia descreve como obter informações sobre todos os plugins Chromium instalados e disponíveis, ativar ou desativar um plugin específico numa página Web e outras ações.

Utilize IPlugins para obter informações sobre todos os plugins disponíveis e ativar/desativar plugins numa página Web. Por padrão, todos os plugins estão ativados.

Os plugins estão associados a Profiles. Se você pretende obter o serviço Plugins para um Profile específico, utilize o método Profile.Plugins(). A utilização de IEngine.Plugins() devolve o serviço Plugins para o perfil predefinido.

Por padrão, todos os plugins estão ativados.

Plugins instalados

Para obter informações sobre todos os plugins instalados e disponíveis, utilize o exemplo de código abaixo:

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

Filtrando plugins

Sempre que uma página Web precisa acessar um plugin, o AllowPluginHandler é utilizado. Neste handler, você pode indicar à página Web se o plugin solicitado é permitido.

O exemplo a seguir demonstra como negar todos os plugins com o tipo MIME application/pdf:

engine.Profiles.Default.Plugins.AllowPluginHandler = 
    new Handler<AllowPluginParameters, AllowPluginResponse>(p =>
    { 
        // Obter tipos MIME de plugins.
        IEnumerable<MimeType> pluginMimeTypes = p.Plugin.MimeTypes;
        // Recusar todos os plugins com o tipo 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)
        ' Obter tipos MIME de plugins.
        Dim pluginMimeTypes As IEnumerable(Of MimeType) = p.Plugin.MimeTypes
        ' Negar todos os plugins com o tipo MIME "application/pdf".
        If pluginMimeTypes.Contains(MimeType.ApplicationPdf) Then
            Return AllowPluginResponse.Deny()
        End If
        Return AllowPluginResponse.Allow()
    End Function)

PDF

O DotNetBrowser suporta o plugin integrado Chromium PDF Viewer. Você pode apresentar um arquivo PDF disponível num servidor Web remoto utilizando o URL do arquivo PDF ou um arquivo PDF localizado no seu sistema de arquivos local:

Visualizador de PDF do Chromium

Barra de ferramentas do visualizador de PDF

Por padrão, o Visualizador de PDF apresenta os controles incorporados, tais como botões de zoom, barra de ferramentas com o nome do arquivo, número de página, botões Girar, Baixar e Imprimir. Você pode ocultar estes controles adicionando #toolbar=0 ao fim da URL.

Por exemplo, http://www.orimi.com/pdf-test.pdf#toolbar=0

Para PDFs carregados a partir do sistema de arquivos local, utilize o seguinte formato de URL:

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

Sem barra de ferramentas

Desativando o visualizador de PDF

Por padrão, os arquivos PDF serão apresentados no Visualizador de PDF. Para baixar os PDFs em vez de os apresentar, utilize a propriedade IBrowserSettings.PdfViewerEnabled:

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

PDF protegido por senha

Por predefinição, a caixa de diálogo padrão do Chromium é apresentada quando o PDF encriptado é carregado:

PDF encriptado

Para fornecer a senha de forma programática, utilize RequestPdfDocumentPasswordHandler:

// Fornecer a senha programaticamente.
Browser.RequestPdfDocumentPasswordHandler =
    new Handler<RequestPdfDocumentPasswordParameters, RequestPdfDocumentPasswordResponse>(p
        => RequestPdfDocumentPasswordResponse.Password(Password));
' Fornecer a senha programaticamente.
Browser.RequestPdfDocumentPasswordHandler = 
    New Handler(Of RequestPdfDocumentPasswordParameters, 
        RequestPdfDocumentPasswordResponse)(Function(p) 
            RequestPdfDocumentPasswordResponse.Password(Password))

Adobe Flash

O Adobe Flash chega ao fim da sua vida útil em dezembro de 2020. As versões do DotNetBrowser baseadas no Chromium 87 e inferiores ainda podem funcionar com o Flash se o plugin correspondente estiver instalado e configurado no sistema.

Desde a versão 88, o Chromium não suporta Flash. O DotNetBrowser também não o suporta a partir da versão 2.5.

Plugins NPAPI

Desde a versão 49, o Chromium não suporta nenhum dos plugins NPAPI, incluindo Microsoft Silverlight, o DotNetBrowser também não os suporta.

ActiveX

Já que o ActiveX não é suportado pelo Chromium, o DotNetBrowser também não o suporta.

Go Top