Publicado em 18 de novembro de 2021

DotNetBrowser 2.10

O que há de novo

Chromium 94

O Chromium foi atualizado para a versão 94.0.4606.113.

Em março de 2021, a Google anunciou que o Chrome/Chromium está planejando lançar uma nova etapa a cada 4 semanas, começando com o Chrome/Chromium 94 no terceiro trimestre de 2021. Além disso, adicionaram uma nova opção Extended Stable , com atualizações de 8 em 8 semanas. As atualizações de segurança no Extended Stable serão lançadas de duas em duas semanas para corrigir problemas importantes, no entanto, essas atualizações não conterão novas funcionalidades ou todas as correções de segurança que a opção de 4 semanas receberá.

Esta compilação do Chromium faz parte da atualização Extended Stable. Ela inclui todas as correções de segurança e novas funcionalidades introduzidas no Chromium 94.

Como de costume, recomendamos que use a versão mais recente do DotNetBrowser com a compilação mais recente do Chromium.

Compartilhamento de Tela

Estendemos a API com uma nova funcionalidade que lhe permite trabalhar com a funcionalidade de compartilhamento de tela do Chromium. Se a página pedir para compartilhar sua tela, será apresentada a caixa de diálogo padrão do Chromium:

WebRTC

Esta caixa de diálogo te permite escolher entre compartilhar a tela inteira, uma janela específica ou uma página web carregada em outras instâncias do Browser.

A nossa API também oferece a possibilidade de compartilhar sua tela de forma programática. Veja um exemplo abaixo:

browser.Capture.StartSessionHandler = 
    new Handler<StartSessionParameters, StartSessionResponse>(p =>
{
    // Dizer à instância do browser para iniciar uma nova sessão de captura e especificar a
    // fonte de captura.
    return StartSessionResponse.SelectSource(p.Sources.Screens.FirstOrDefault(),
                                             AudioMode.Ignore);
});

Também é possível obter todas as sessões de captura de um determinado navegador, verificar se estão ativas e parar qualquer uma delas:

// Obter todas as sessões de captura do browser atual.
IReadOnlyList<ISession> sessions = browser.Capture.Sessions;
foreach (ISession session in sessions)
{
    string sourceName = session.Source.Name;
    bool isActive = session.IsActive;

    // Pára a sessão.
    session.Stop();
}

Impressão

Cabeçalho e rodapé

Agora é possível definir um cabeçalho e rodapé personalizados para o documento impresso programaticamente sem exibir a caixa de diálogo Visualizar impressão. Por exemplo:

browser.PrintHtmlContentHandler
    = new Handler<PrintHtmlContentParameters, PrintHtmlContentResponse>(p =>
    {
        PdfPrinter<PdfPrinter.IHtmlSettings> pdfPrinter = p.Printers.Pdf;
        IPrintJob<PdfPrinter.IHtmlSettings> printJob = pdfPrinter.PrintJob;

        printJob.Settings.Apply(printSettings =>
        {
            // Ativar cabeçalho e rodapé.
            printSettings.PrintingHeaderFooterEnabled = true;

            // Definir cabeçalho e rodapé personalizados.
            printSettings.HeaderTemplate = 
                "<span style=\"font-size: 12px;\">" +
                "Cabeçalho da página:" +
                "<span class='title'></span></div>";
            printSettings.FooterTemplate =
                "<span style=\"font-size: 12px;\">" +
                "Número da página: <span class='pageNumber'>" +
                "</span> de <span class='totalPages'></span></div>";

            printSettings.PdfFilePath = 
                Path.Combine(Directory.GetCurrentDirectory(), 
                             "test.pdf");
        });

        return PrintHtmlContentResponse.Print(pdfPrinter);
});

Escalonamento

É possível alterar a escala do documento impresso. No caso de escalonamento personalizado, o valor da escala deve ser um número entre 10 e 200:

browser.PrintHtmlContentHandler
    = new Handler<PrintHtmlContentParameters, PrintHtmlContentResponse>(p =>
    {
        PdfPrinter<PdfPrinter.IHtmlSettings> pdfPrinter = p.Printers.Pdf;
        IPrintJob<PdfPrinter.IHtmlSettings> printJob = pdfPrinter.PrintJob;

        printJob.Settings.Apply(printSettings =>
        {
            // Definir escala personalizada.
            printSettings.Scaling = Scaling.Custom(130);

            printSettings.PdfFilePath = 
                Path.Combine(Directory.GetCurrentDirectory(), "test.pdf");
        });

        return PrintHtmlContentResponse.Print(pdfPrinter);
});

Problemas corrigidos

  • Uma tooltip vazia exibida para o BrowserView no modo de renderização fora de tela.
  • Toda a aplicação travando quando a janela pop-up com o visualizador de conteúdos é fechada.
  • Falha no modo de tela cheia quando o leitor de vídeo está incorporado num iframe.
  • O analisador de dados de carregamento não funcionando corretamente com valores vazios.
  • A impossibilidade de desativar o menu tátil através da opção TouchMenuDisabled IEngine.
  • O comportamento inadequado do foco do teclado com várias instâncias BrowserView na mesma janela.

Solicitar licença de avaliação
Baixar DotNetBrowser 2.10 (.NET Framework)
Baixar DotNetBrowser 2.10 (.NET Core)

Go Top