AIDE .NET

Cefsharp.WPF.NET Core (Comment ça marche pour le développeur)

Publié janvier 27, 2024
Partager:

Introduction

Les développeurs peuvent désormais intégrer facilement le puissant moteur de navigation Web de Chromium dans leurs applications de bureau .NET et WPF grâce à CefSharp, un wrapper .NET inventif autour du Chromium Embedded Framework. Des expériences web riches au sein d'interfaces de bureau personnalisées sont rendues possibles pour les développeurs d'applications .NET grâce à CefSharp, qui leur permet d'exploiter les fonctionnalités web et les outils de développement de Chromium sans aucune dépendance externe. Avec son large éventail de nouvelles fonctionnalités telles que les options de personnalisation et la maîtrise du comportement du navigateur, ce cadre facilite l'intégration des technologies web contemporaines telles que HTML5, CSS3 et JavaScript.

Les interactions et les expériences des utilisateurs avec le contenu web dans les solutions de bureau sont transformées par l'interopérabilité multiplateforme de CefSharp et les capacités d'interaction avec le contenu web, qui élèvent les programmes de bureau et permettent des expériences dynamiques de navigation sur le web au sein même de l'environnement de l'application. Dans cet article, nous allons en savoir plus sur la version open-source de CefSharp en utilisant des extraits de code.

Comment utiliser CefSharp

  1. Créez un nouveau formulaire Windows à partir du projet Visual Studio.
  2. Installer la bibliothèque CefSharp.
  3. Déclarez l'objet requis pour CefSharp qui est prêt à être compilé de manière minimale.
  4. Saisissez l'URL à charger.
  5. Exécutez le code.

    Installer CefSharp.WinForms :

  • L'utilisation du gestionnaire de paquets NuGet de Visual Studio est la méthode la plus simple pour installer CefSharp.
  • Lancez le projet dans Visual Studio.
  • Dans l'explorateur de solutions, cliquez avec le bouton droit de la souris sur votre projet.
  • Choisissez "Manage NuGet Packages".
  • Allez dans l'onglet "Parcourir" et recherchez "CefSharp".
  • Sélectionner le paquet CefSharp (CefSharp.Wpf, CefSharp.WinForms, etc.) qui convient à votre projet.
  • Pour inclure le paquet dans votre projet, cliquez sur "Installer".

Importance de CefSharp

CefSharp est un Framework qui transforme la façon dont les développeurs construisent des applications de bureau et des projets d'automatisation avec des capacités de navigation web intégrées en intégrant sans effort la puissance du moteur de navigation web de Chromium dans les applications .NET. Avec l'aide de CefSharp, nous pouvons afficher du contenu web à distance, y compris une interface utilisateur intégrée construite avec le support HTML5.

Les points importants à souligner dans une introduction à CefSharp sont les suivants :

  • Le cadre intégré de Chromium (CEF) sert de cadre à CefSharp, permettant l'intégration des fonctionnalités du navigateur Chromium dans d'autres programmes. En utilisant le projet Chromium de Google, CefSharp améliore les programmes de bureau avec des fonctionnalités web sophistiquées.
  • intégration .NET : CefSharp est un puissant wrapper .NET pour le Cef. Il permet aux programmeurs d'utiliser C# ou d'autres langages .NET pour intégrer un navigateur web rapide dans leurs applications de bureau .NET.
  • Navigation sur le web dans les applications de bureau : Avec CefSharp, les développeurs peuvent facilement incorporer des fonctions de navigation sur le web dans leurs programmes de bureau. Cette fonctionnalité offre un monde de possibilités aux développeurs, leur permettant d'incorporer du matériel en ligne dans leurs interfaces utilisateur ou de créer des applications de bureau uniques compatibles avec le web. Il peut recevoir un rappel lorsque des événements JavaScript se déclenchent.
  • Prise en charge des technologies web riches : En utilisant CefSharp, les développeurs peuvent utiliser toutes les capacités que Chromium a à offrir, y compris la prise en charge des normes Web les plus récentes comme HTML5, CSS3, JavaScript, WebGL, et d'autres normes Web modernes. Il est ainsi possible d'intégrer des technologies web de pointe dans des programmes de bureau.
  • Flexibilité et personnalisation : CefSharp offre aux développeurs une grande flexibilité et des possibilités de personnalisation, leur permettant de gérer des événements, d'exécuter du JavaScript, d'interagir avec du contenu en ligne et de modifier le comportement du navigateur pour répondre aux besoins particuliers de l'application. CefSharp avec WebGL, qui s'appuie sur OpenGL/DirectX pour un rendu accéléré par le matériel, prend en charge le contenu 3D.

    En utilisant CefSharp, les développeurs peuvent améliorer les applications de bureau en facilitant la navigation sur le web, en encourageant l'interaction avec l'utilisateur et en lui fournissant des informations riches et actuelles dans l'environnement de l'application.

    Code échantillon :

using System;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
namespace CefSharpExample
{
    public partial class MainForm : Form
    {
        private ChromiumWebBrowser chromeBrowser;
        public MainForm()
        {
            InitializeComponent();
            // Initialize CefSharp settings
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);
            // Create the ChromiumWebBrowser instance
            chromeBrowser = new ChromiumWebBrowser("https://ironpdf.com/"); // Load a URL
            // Add the ChromiumWebBrowser control to the form
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill; // Fill the entire form
            // Handle when the browser component has finished loading
            chromeBrowser.LoadingStateChanged += ChromeBrowser_LoadingStateChanged;
        }
        private void ChromeBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
        {
            if (!e.IsLoading)
            {
                // Page has finished loading
                // Perform actions after the page has loaded
                Console.WriteLine("Finished loading.");
            }
        }
        // Dispose of Cef resources when the form is closed
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cef.Shutdown();
        }
    }
}
using System;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
namespace CefSharpExample
{
    public partial class MainForm : Form
    {
        private ChromiumWebBrowser chromeBrowser;
        public MainForm()
        {
            InitializeComponent();
            // Initialize CefSharp settings
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);
            // Create the ChromiumWebBrowser instance
            chromeBrowser = new ChromiumWebBrowser("https://ironpdf.com/"); // Load a URL
            // Add the ChromiumWebBrowser control to the form
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill; // Fill the entire form
            // Handle when the browser component has finished loading
            chromeBrowser.LoadingStateChanged += ChromeBrowser_LoadingStateChanged;
        }
        private void ChromeBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
        {
            if (!e.IsLoading)
            {
                // Page has finished loading
                // Perform actions after the page has loaded
                Console.WriteLine("Finished loading.");
            }
        }
        // Dispose of Cef resources when the form is closed
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cef.Shutdown();
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ce code utilise CefSharp pour développer une application WinForms de base avec un navigateur web intégré basé sur Chromium. Voici une explication :

  • Initialise les paramètres CefSharp en utilisant CefSettings.
  • ChromiumWebBrowser : Cette classe représente le contrôle du navigateur web fourni par CefSharp.
  • L'événement LoadingStateChanged gère les changements de l'état de chargement du navigateur, par exemple lorsqu'une page finit de se charger.
  • L'événement MainForm_FormClosing garantit que les ressources du Cef sont correctement fermées lors de la fermeture du formulaire.

    Pour un exemple de base, des applications construites à l'aide de CefSharp et prêtes à être compilées, voir la page projet. Des exemples de projets plus complexes sont disponibles dans la source du projet.

CefSharp avec IronPDF

Intégrer IronPDFles capacités de génération de PDF de CefSharp avec le Chromium Embedded Framework de CefSharp (CEF) nécessite l'utilisation conjointe de CefSharp et d'IronPDF dans une application .NET. Cependant, depuis la version la plus récente de janvier 2022, il n'existe pas d'interface directe et prête à l'emploi entre CefSharp et IronPDF.

L'objectif principal de CefSharp est d'intégrer le moteur de navigation web Chromium dans les programmes .NET, ce qui permet d'afficher du contenu en ligne et d'interagir avec lui par le biais de l'interface utilisateur de l'application. CefSharp fournit des contrôles de navigateur pour les applications WPF et Windows Forms.

Bien que CefSharp et IronPDF ne soient pas directement intégrés, les développeurs peuvent toujours utiliser les deux bibliothèques dans le même contexte d'application.

Installer IronPDF

Pour acquérir la bibliothèque IronPDF, vous devez suivre les étapes suivantes. Saisissez le code suivant dans le gestionnaire de paquets :

Install-Package IronPdf 
dotnet add package IronPdf

CefSharp.Wpf.NetCore (Comment ça marche pour les développeurs) : Figure 1 - Installer IronPDF

Vous pouvez également utiliser le gestionnaire de paquets NuGet pour rechercher le paquetage "IronPDF". Dans la liste de tous les paquets NuGet liés à IronPDF, choisissez et téléchargez le paquet nécessaire.

CefSharp.Wpf.NetCore (Comment ça marche pour les développeurs) : Figure 2 - IronPDF

Utilisation d'IronPDF dans CefSharp C&num ;

Pour intégrer IronPDF à C# dans une application C#, vous devez effectuer deux étapes : utiliser le navigateur basé sur Chromium fourni par CefSharp pour rendre le contenu HTML, puis utiliser IronPDF pour convertir ces informations HTML en document PDF. L'exemple suivant montre comment réaliser cette intégration :

using CefSharp;
using IronPdf;
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CefSharpIronPdfIntegration
{
    public partial class MainForm : Form
    {
        private ChromiumWebBrowser chromeBrowser;
        public MainForm()
        {
            InitializeComponent();
            // Initialize CefSharp
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);
            // Create the ChromiumWebBrowser instance
            chromeBrowser = new ChromiumWebBrowser("https://ironpdf.com/"); // Load a URL
            // Add the ChromiumWebBrowser control to the form
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill; // Fill the entire form
            // Handle when the browser component has finished loading
            chromeBrowser.LoadingStateChanged += ChromeBrowser_LoadingStateChanged;
        }
        private async void ChromeBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
        {
            if (!e.IsLoading)
            {
                // Page has finished loading
                // Capture HTML content after page load completes
                string htmlContent = await chromeBrowser.GetSourceAsync();
                // Use IronPDF to generate a PDF from the captured HTML content
                var Renderer = new IronPdf.HtmlToPdf();
                var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
                PDF.SaveAs("Output.pdf"); // Save the generated PDF
                Console.WriteLine("PDF generated successfully.");
            }
        }
        // Dispose of Cef resources when the form is closed to avoid unnecessary memory usage
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cef.Shutdown();
        }
    }
}
using CefSharp;
using IronPdf;
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CefSharpIronPdfIntegration
{
    public partial class MainForm : Form
    {
        private ChromiumWebBrowser chromeBrowser;
        public MainForm()
        {
            InitializeComponent();
            // Initialize CefSharp
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);
            // Create the ChromiumWebBrowser instance
            chromeBrowser = new ChromiumWebBrowser("https://ironpdf.com/"); // Load a URL
            // Add the ChromiumWebBrowser control to the form
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill; // Fill the entire form
            // Handle when the browser component has finished loading
            chromeBrowser.LoadingStateChanged += ChromeBrowser_LoadingStateChanged;
        }
        private async void ChromeBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
        {
            if (!e.IsLoading)
            {
                // Page has finished loading
                // Capture HTML content after page load completes
                string htmlContent = await chromeBrowser.GetSourceAsync();
                // Use IronPDF to generate a PDF from the captured HTML content
                var Renderer = new IronPdf.HtmlToPdf();
                var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
                PDF.SaveAs("Output.pdf"); // Save the generated PDF
                Console.WriteLine("PDF generated successfully.");
            }
        }
        // Dispose of Cef resources when the form is closed to avoid unnecessary memory usage
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cef.Shutdown();
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ce code démontre une intégration simple où le contenu HTML chargé dans le navigateur Chromium est intercepté, et IronPDF est utilisé pour le transformer en document PDF. Voici une explication :

  • Initialiser CefSharp pour intégrer le navigateur Chromium dans une application Windows Forms.
  • contrôle ChromiumWebBrowser : Ce contrôle charge une URL spécifique (dans cet exemple, "https://ironpdf.com/") dans le navigateur et en crée une instance.
  • événement LoadingStateChanged : Suit la progression du chargement du navigateur. Lorsque le chargement de la page est terminé (e.IsLoading est faux)le ChromeBrowser capture de manière asynchrone le contenu HTML de la page chargée en utilisant GetSourceAsync().
  • Intégration d'IronPDF : Le contenu HTML capturé (htmlContent) est converti en document PDF à l'aide de la fonction HtmlToPdf d'IronPDF. Le PDF généré est enregistré sous le nom de "Output.pdf".
  • Fermeture du formulaire : S'assurer que les ressources du Cef sont correctement fermées en appelant Cef.Shutdown() après la fermeture du formulaire.

    CefSharp.Wpf.NetCore (Comment ça marche pour les développeurs) : Figure 3 - Sortie

    Ce code démontre une intégration simple où le contenu HTML chargé dans le navigateur Chromium est intercepté puis converti en document PDF à l'aide d'IronPDF. Personnalisez l'URL, la gestion des erreurs et d'autres aspects en fonction des besoins spécifiques de votre application. Pour plus d'informations sur la documentation IronPDF, veuillez vous référer à ici.

Conclusion

L'intégration d'IronPDF avec CefSharp dans une application C# ouvre de nouvelles possibilités de gestion de documents et d'informations en ligne. En combinant les fonctionnalités de génération de PDF d'IronPDF avec le navigateur basé sur Chromium fourni par CefSharp, les développeurs peuvent créer des applications flexibles capables de générer des documents PDF de haute qualité tout en incorporant du contenu web dynamique.

La version Lite d'IronPDF est disponible au prix de $749 et comprend un contrat de maintenance logicielle d'un an, des options de mise à niveau, une licence permanente et une garantie de remboursement de trente jours. Pendant la période d'essai de trente jours, les utilisateurs peuvent évaluer le produit dans des scénarios réels à l'aide d'une version d'essai en filigrane. Pour en savoir plus sur le coût, la licence et la version gratuite d'IronPDF, visitez le site lien. Pour de plus amples informations sur Iron Software, veuillez consulter leur site web site web.

< PRÉCÉDENT
Npgsql C# .NET (Comment ça marche pour le développeur)
SUIVANT >
Microsoft Logging C# (Comment ça marche pour le développeur)