List icon Conteúdo

Plugins

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

Utilize Plugins para obter informações sobre todos os plugins disponíveis e ativar/desativar plugins numa página web.

Java
Kotlin
var plugins = profile.plugins();
val plugins = profile.plugins()

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 seguinte código:

Java
Kotlin
plugins.list().forEach(plugin -> {
    var name = plugin.name();
    var description = plugin.description();
    var version = plugin.version();
});
plugins.list().forEach { plugin ->
    val name = plugin.name()
    val description = plugin.description()
    val version = plugin.version()
}

Plugins de Filtragem

Sempre que uma página web precisa de acessar um plugin, o AllowPluginCallback é invocado. Nesta chamada de retorno, você pode informar a página Web se o plugin solicitado é permitido.

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

Java
Kotlin
plugins.set(AllowPluginCallback.class, (params) -> {
    // Obtém plugins de tipos MIME.
    var pluginMimeTypes = params.plugin().mimeTypes();
    // Recusa todos os plugins com o tipo MIME "application/pdf".
    if (pluginMimeTypes.contains(MimeType.of("application/pdf"))) {
        return AllowPluginCallback.Response.deny();
    }
    return AllowPluginCallback.Response.allow();
});
plugins.register(AllowPluginCallback { params ->
    // Obtém plugins de tipos MIME.
    val pluginMimeTypes = params.plugin().mimeTypes()
    // Recusa todos os plugins com o tipo MIME "application/pdf".
    if (pluginMimeTypes.contains(MimeType("application/pdf"))) {
        AllowPluginCallback.Response.deny()
    } else {
        AllowPluginCallback.Response.allow()
    }
})

Visualizador de PDF

O JxBrowser suporta o plugin Chromium PDF Viewer incorporado. Você pode visualizar 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

Se você precisar fazer o download de documentos PDF em vez de apresentá-los, então precisará desativar o visualizador de PDF.

Barra de Ferramentas do Visualizador de PDF

Por padrão, o PDF Viewer 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 Rotate, Download e Print. Você pode ocultar estes controles adicionando #toolbar=0 ao final do URL.

Visualizador de PDF Chromium Sem Controles

Desativar o Visualizador de PDF

Por padrão, o visualizador de PDF incorporado está ativado. Para desativá-lo, utilize a seguinte API introduzida em 7.9:

Java
Kotlin
plugins.settings().disablePdfViewer();
plugins.settings().disablePdfViewer()

PDF Protegido por Senha

Você pode abrir arquivos PDF protegidos por senha e fornecer a senha utilizando a caixa de diálogo padrão:

Visuaizador de PDF Chromium Diálogo de Senha

Desde 7.27 você pode definir a senha de forma programática utilizando RequestPdfDocumentPasswordCallback:

Java
Kotlin
browser.set(RequestPdfDocumentPasswordCallback.class, (params, tell) -> {
    tell.password("oxford not brogues");
});
browser.register(RequestPdfDocumentPasswordCallback { params, tell ->
    tell.password("oxford not brogues")
})

Adobe Flash

O Adobe Flash chegou ao fim da sua vida útil em dezembro de 2020. O Chromium removeu suporte para Adobe Flash a partir da versão 88. Assim, o Flash não é suportado no JxBrowser 7.13 e superior.

Plugins NPAPI

A partir da versão 49, o Chromium não suporta nenhum dos plugins NPAPI, incluindo Microsoft Silverlight e Java Applet. Portanto, o JxBrowser também não os suporta.

ActiveX

O ActiveX não é suportado pelo Chromium, portanto o JxBrowser também não o suporta.

Widevine

A partir da versão 7.4, o JxBrowser permite ativar Widevine através das opções Engine.