Intégrez WebView2 avec IronPDF pour créer des PDF dynamiques !
using System;
using Microsoft.Web.WebView2.WinForms;
using IronPdf;
using System.Windows.Forms;
class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Initialize WebView2 control
var webView = new WebView2 { Dock = DockStyle.Fill };
var form = new Form
{
Text = "WebView2 and IronPDF Example",
Width = 800,
Height = 600
};
form.Controls.Add(webView);
webView.NavigationCompleted += async (sender, args) =>
{
if (args.IsSuccess)
{
// Retrieve the HTML content
string htmlContent = await webView.ExecuteScriptAsync("document.documentElement.outerHTML;");
htmlContent = System.Text.Json.JsonSerializer.Deserialize<string>(htmlContent); // Deserialize JSON string
// Generate PDF using IronPDF
var renderer = new ChromePdfRenderer();
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("WebView2Content.pdf");
MessageBox.Show("PDF created successfully!");
}
};
// Navigate to a website
webView.Source = new Uri("https://example.com");
Application.Run(form);
}
}
Exemple C# de Webview2 (Comment ça marche pour les développeurs)
Publié janvier 4, 2024
Partager:
WebView2la dernière itération de la technologie d'affichage Web de Microsoft est basée sur le moteur Chromium, le même moteur que celui qui équipe le célèbre navigateur Microsoft Edge. La distribution de la version fixe permet aux développeurs C# d'intégrer des technologies web telles que le langage de balisage hypertexte, CSS et JavaScript directement dans leurs applications natives. Cette intégration ouvre un monde de possibilités, de l'affichage de contenu dynamique à la construction d'interfaces utilisateur complexes.
Présentation d'IronPDF permet de générer, de manipuler et de restituer des documents PDF au sein d'applications C#. Qu'il s'agisse de convertir du contenu en ligne en PDF ou de créer des documents à partir de zéro, IronPDF offre une approche simple pour gérer les PDF en même temps que les données et les interfaces basées sur le Web.
Ce tutoriel vous guidera dans l'intégration de WebView2 et IronPDF dans une application C#. De la configuration de base aux fonctionnalités avancées, nous explorerons comment ces outils peuvent être utilisés en tandem pour améliorer les capacités de votre application.
Introduction à WebView2
WebView2, alimenté par le navigateur Microsoft Edge basé sur Chromium, représente une avancée significative dans l'intégration de contenu web au sein des applications C#. Cette technologie permet aux développeurs d'intégrer tout le spectre du web moderne dans leurs applications Windows, en améliorant les performances, la compatibilité et les fonctionnalités.
L'avantage de Chromium Edge
Basé sur le chrome : S'appuyant sur le même moteur que Microsoft Edge, WebView2 offre un rendu plus cohérent et plus fiable du contenu web par rapport aux anciens contrôles d'affichage web.
Normes Web modernes : Grâce à la prise en charge des normes Web les plus récentes, les développeurs peuvent s'assurer que le contenu Web de leurs applications Windows reste à jour par rapport aux technologies Web actuelles.
Démarrer avec WebView2
Mise en place de WebView2 dans les projets C
L'intégration de WebView2 dans un projet C# est un processus simple. Il s'agit d'ajouter le SDK WebView2 via NuGet, le gestionnaire de paquets de Microsoft pour .NET. Ce SDK fournit les bibliothèques et les outils nécessaires pour intégrer du contenu web dans vos applications à l'aide de WebView2.
Mise en œuvre de WebView2 dans Windows Forms et WPF
WebView2 peut être utilisé dans différents types d'applications C#, notamment Windows Forms(WinForms) et Windows Presentation Foundation(WPF). Chaque cadre a ses propres nuances en termes de mise en œuvre, mais le concept de base reste le même : WebView2 agit comme un conteneur pour le contenu web au sein de votre application.
Exemple de base de chargement de contenu Web
Une fois que WebView2 est installé, vous pouvez commencer à charger des pages web dans votre application. Il peut s'agir d'un simple réglage de l'URL source pour afficher une page web. Voici un exemple de base pour vous aider à démarrer :
var webView = new WebView2();
webView.Source = new Uri("https://www.ironpdf.com");
var webView = new WebView2();
webView.Source = new Uri("https://www.ironpdf.com");
Dim webView = New WebView2()
webView.Source = New Uri("https://www.ironpdf.com")
Dans cet extrait de code, une nouvelle instance de WebView2 est créée et le site web d'IronPDF y est chargé. Ceci illustre comment WebView2 peut être utilisé pour rendre des pages web dans une application C#.
Intégrer un contenu Web de base
Affichage de HTML, CSS et JS dans WebView2
WebView2 permet aux applications C# d'intégrer et d'afficher du contenu web standard. Il s'agit de pages HTML, de feuilles de style en cascade pour la mise en forme et de JavaScript pour l'interactivité. Les fonctions de contrôle sont similaires à celles d'un navigateur web intégré à votre application, rendant le contenu web tel qu'il apparaîtrait dans Microsoft Edge.
Chargement de pages Web dans WebView2
La fonction première du WebView2 est de charger et d'afficher des pages web. Pour ce faire, il suffit de spécifier une URL ou de charger directement le contenu HTML. Par exemple :
Ce code fait naviguer le contrôle WebView2 vers une page web spécifiée et l'affiche dans l'application.
Interagir avec JavaScript
WebView2 permet d'interagir avec JavaScript dans le contenu web intégré. Cela signifie que vous pouvez exécuter du code JavaScript à partir de votre application C# et vice versa, ce qui permet des mises à jour de contenu dynamiques et des interfaces utilisateur réactives.
Personnalisation de l'expérience Web
Avec WebView2, vous contrôlez l'affichage du contenu web et pouvez en personnaliser différents aspects, tels que la taille, la visibilité et les paramètres d'interaction avec l'utilisateur. Cette personnalisation permet d'intégrer le contenu web de manière transparente dans l'interface utilisateur native de votre application.
Intégration de WebView2 et IronPDF
IronPDF se spécialise dans la conversionHTML vers PDF, en préservant les mises en page et les styles d'origine avec précision. Cette fonctionnalité est particulièrement utile pour générer des PDF à partir de contenus web tels que des rapports, des factures et de la documentation. Il prend en charge la conversion de fichiers HTML, d'URL et même de chaînes HTML brutes en fichiers PDF de haute qualité.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
Utilisation conjointe de WebView2 et IronPDF
La combinaison de WebView2 et d'IronPDF dans un projet C# ouvre des possibilités passionnantes. Alors que WebView2 est excellent pour afficher et interagir avec le contenu web, IronPDF excelle dans la conversion de ce contenu au format PDF. Cette intégration permet aux développeurs de créer des applications qui ne se contentent pas d'afficher du contenu web, mais qui fournissent également des fonctionnalités àconvertir du contenu web en documents PDF.
Capturer le contenu de WebView2 avec IronPDF
La création d'une application Windows Forms incluant WebView2 permet aux utilisateurs de naviguer sur Internet au sein de votre application. Commencez par ajouter un contrôle WebView2 à votre formulaire. Ce contrôle doit occuper une grande partie du formulaire et laisser suffisamment d'espace pour la navigation sur le web. En outre, incluez des contrôles de navigation tels que des barres d'adresse et des boutons pour une expérience de navigation complète.
Ajout de la fonction de conversion PDF
Introduisez un bouton sur votre formulaire intitulé "Convertir en PDF" Ce bouton sera l'élément déclencheur qui permettra aux utilisateurs de convertir la page web actuellement consultée en un document PDF à l'aide d'IronPDF.
Installer la bibliothèque IronPDF
Installation à l'aide du gestionnaire de paquets NuGet
Pour intégrer IronPDF à votre projet WebView2 à l'aide du gestionnaire de paquets NuGet, procédez comme suit :
Ouvrez Visual Studio et, dans l'explorateur de solutions, faites un clic droit sur votre projet.
Choisissez "Gérer les paquets NuGet..." dans le menu contextuel.
Allez dans l'onglet Parcourir et recherchez IronPDF.
Sélectionnez la bibliothèque IronPDF dans les résultats de la recherche et cliquez sur le bouton d'installation.
Accepter tout accord de licence.
Si vous souhaitez inclure IronPDF dans votre projet via la console du gestionnaire de paquets, exécutez alors la commande suivante dans la console du gestionnaire de paquets :
Install-Package IronPdf
Il récupérera et installera IronPDF dans votre projet.
Installation à l'aide du site NuGet
Pour une présentation détaillée d'IronPDF, notamment de ses caractéristiques, de sa compatibilité et des options de téléchargement supplémentaires, visitez la page IronPDF sur le site Web de NuGet à l'adresse https://www.nuget.org/packages/IronPdf.
Installation par DLL
Vous pouvez également incorporer IronPDF directement dans votre projet à l'aide de son fichier DLL. Téléchargez le fichier ZIP contenant la DLL à partir de ce lienPage de téléchargement DLL. Décompressez-la et incluez la DLL dans votre projet.
Mise en œuvre de la logique de conversion
Lorsque l'utilisateur clique sur le bouton "Convertir en PDF", votre application doit capturer l'URL ou le contenu HTML affiché dans le contrôle WebView2. Utilisez les capacités d'IronPDF pour convertir ce contenu web en PDF. Voici un exemple d'approche :
Capturer le contenu actuel : Lorsque l'utilisateur lance la conversion, il récupère le contenu actuel du contrôle WebView2. Il peut s'agir de l'URL ou directement du contenu HTML.
Générer un PDF avec IronPDF : Utilisez IronPDF pour créer un PDF à partir du contenu web capturé. La classe HtmlToPdf permet de transformer la page web actuelle en un document PDF.
Sauvegarde et notification : Enregistrez le PDF généré à un emplacement prédéfini ou demandez à l'utilisateur de choisir un emplacement d'enregistrement. Une fois le PDF enregistré, informez l'utilisateur de la réussite de la conversion, éventuellement par le biais d'une boîte de message.
private void ConvertToPdfButton_Click(object sender, EventArgs e)
{
var renderer = new IronPdf.ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(webView.CoreWebView2.Source.ToString());
pdf.SaveAs("ConvertedWebPage.pdf");
MessageBox.Show("PDF conversion successful!");
}
private void ConvertToPdfButton_Click(object sender, EventArgs e)
{
var renderer = new IronPdf.ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(webView.CoreWebView2.Source.ToString());
pdf.SaveAs("ConvertedWebPage.pdf");
MessageBox.Show("PDF conversion successful!");
}
Private Sub ConvertToPdfButton_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf(webView.CoreWebView2.Source.ToString())
pdf.SaveAs("ConvertedWebPage.pdf")
MessageBox.Show("PDF conversion successful!")
End Sub
Voici le résultat de l'interface utilisateur :
Lorsque vous cliquez sur le bouton Convertir, le site Web est converti en PDF et la boîte de message suivante s'affiche :
Conclusion
Au terme de notre exploration de WebView2 et d'IronPDF dans le domaine du développement C#, il est clair que la synergie entre ces deux technologies offre un riche ensemble de possibilités pour la création d'applications dynamiques et polyvalentes.
En intégrant WebView2, vous pouvez incorporer des technologies web avancées directement dans vos applications C#, améliorant ainsi leur fonctionnalité et l'expérience de l'utilisateur. IronPDF complète ce dispositif en fournissant les outils nécessaires pour convertir ces interfaces et contenus basés sur le web en documents PDF accessibles, idéaux pour l'établissement de rapports, la documentation et le partage de données.
Découvrez tout le potentiel d'IronPDF avec unessai gratuit d'IronPDF vous pouvez utiliser la version anglaise du logiciel et débloquer la gamme complète des fonctionnalités avec des licences commençant à $749.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Fractionnement de chaînes de caractères en C# (comment cela fonctionne pour les développeurs)
SUIVANT > Fluent Assertions C# (Comment ça marche pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier