List icon Conteúdo

Publicado em 2 de março de 2021

DotNetBrowser 2.4

O que há de novo

API de Impressão

A API de impressão está de volta - melhorada e reformulada. Agora você pode imprimir páginas e documentos, bem como guardar páginas Web em PDF silenciosamente a partir do código.

Com a nova API de impressão, você pode:

  • selecionar um dispositivo de impressão;
  • fornecer as definições de impressão necessárias, como o tamanho do papel, a orientação, os intervalos de páginas, etc;
  • receber notificações quando a impressão estiver concluída;
  • cancelar a impressão;
  • salvar a página Web atualmente carregada num documento PDF e muito mais.

O exemplo seguinte demonstra como salvar a página Web atualmente carregada como um PDF:

// Dizer ao motor Chromium para efetuar a impressão de forma programática.
browser.RequestPrintHandler =
    new Handler<RequestPrintParameters, RequestPrintResponse>(p =>
    {
        return RequestPrintResponse.Print();
    });

// Este manipulador é utilizado para imprimir páginas Web normais de forma programática.
browser.PrintHtmlContentHandler 
    = new Handler<PrintHtmlContentParameters, PrintHtmlContentResponse>(p =>
    {
        string pdfFilePath = Path.GetFullPath("result.pdf");

        // Obter o trabalho de impressão para a impressora PDF incorporada.
        IPrintJob<PdfPrinter.IHtmlSettings> printJob = p.Printers.Pdf.PrintJob;

        // Subscreve o seu evento PrintCompleted e mostra uma caixa de mensagem quando estiver concluído.
        printJob.PrintCompleted += (sender, args) => 
        { 
            BeginInvoke((Action) (() => 
                { MessageBox.Show("Impressão concluída: \n"+pdfFilePath); }));
        };

        // Aplicar as definições de impressão necessárias
        printJob.Settings.Apply(s =>
        {
            // Ativar a impressão do cabeçalho e do rodapé.
            s.PrintingHeaderFooterEnabled = true;
            // Especifique o caminho para guardar o resultado.
            s.PdfFilePath = pdfFilePath;
        });

        // Diga ao Chromium para utilizar a impressora PDF incorporada para impressão.
        return PrintHtmlContentResponse.Print(p.Printers.Pdf);
    });

// Carregue a página Web e aguarde até estar completamente carregada.
browser.Navigation.LoadUrl("teamdev.com").Wait();
// Inicie a impressão.
browser.MainFrame.Print();

Suporte para .NET 5

O DotNetBrowser foi testado e comprovado para se integrar com aplicações desktop .NET 5.

Melhorias

  • A caixa de diálogo Pré-visualização de impressão foi cortada da parte superior do formulário e posicionada mais abaixo para melhorar a experiência do usuário.
  • A propriedade AuthenticateParameters.Realm foi adicionada para fornecer o domínio do desafio de autenticação.

Problemas corrigidos

  • Uso excessivo de CPU e GPU pelo processo nativo com várias guias com instâncias do WPF BrowserView no modo acelerado por hardware.
  • A falha do BrowserView do WPF no modo acelerado por hardware.
  • Poucos vazamentos de memória para registar/remover registro de objetos .NET através da Bridge JS-.NET.
  • A tecla Tab não funcionando corretamente com o WPF BrowserView.
  • A rolagem de uma página parando se o cursor do mouse passar para fora do componente BrowserView do WPF no modo de renderização fora de tela.
  • A passagem do foco que entra no ciclo infinito ao apresentar um pop-up.

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

Go Top