Convertissez le contenu web en PDF à l'aide d'IronPDF et de WebClient!
using IronPdf;
using System.Net;
class Program
{
static void Main()
{
License.LicenseKey = "License-Key";
// Create a new WebClient instance to download HTML
using (WebClient client = new WebClient())
{
// Specify the URL of the HTML page
string url = "http://example.com";
string htmlString = client.DownloadString(url);
// Create a new HTML to PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlString);
// Save the PDF to a file
pdf.SaveAs("output.pdf");
}
}
}
WebClient C# (Comment ça marche pour les développeurs)
Jordi Bardia
juin 6, 2024
Partager:
WebClient est une classe puissante en C# conçue pour envoyer et recevoir des données sur le web. Il fait partie de l'espace de noms System.Net du Framework .NET et convient à diverses applications, du simple téléchargement de fichiers à l'envoi de données à un serveur web.
Ce tutoriel explique comment utiliser efficacement la classe WebClient, en se concentrant sur ses fonctionnalités de base et sur la manière de gérer des scénarios courants tels que le téléchargement de fichiers et l'affichage de données. Nous explorerons également lesBibliothèque IronPDF dans le contexte de l'utilisation de WebClient.
Utilisation de base de WebClient
Création d'un nouveau WebClient
Pour commencer à utiliser WebClient, vous devez en créer une instance. Cette instance sert de passerelle pour effectuer des requêtes HTTP.
Voici une manière simple d'instancier un WebClient :
WebClient client = new WebClient();
WebClient client = new WebClient();
Dim client As New WebClient()
Ce nouveau WebClient() est une configuration de base. Elle prépare votre application à interagir avec les serveurs HTTP. En créant cette instance, vous accédez à une série de méthodes offertes par la classe WebClient pour télécharger et téléverser des données.
Définition des propriétés du WebClient
Avant de commencer à envoyer des requêtes, vous pouvez personnaliser le comportement de votre instance de WebClient. Par exemple, vous pouvez définir un en-tête d'agent utilisateur pour indiquer au serveur le nom du client qui effectue la requête :
// Adding user-agent to the HTTP headers
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)";
// Adding user-agent to the HTTP headers
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)";
' Adding user-agent to the HTTP headers
client.Headers("User-Agent") = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
La définition de l'en-tête user agent est importante car certains serveurs vérifient cet en-tête pour voir si la demande provient d'un navigateur ou d'un appareil reconnu. Cela peut avoir une incidence sur la manière dont les serveurs répondent à vos demandes.
Téléchargement de données à l'aide de WebClient
Téléchargement simple de fichiers
WebClient fournit une méthode simple pour télécharger des fichiers directement d'une URL vers un fichier local. Cette méthode est utile pour les applications qui doivent fonctionner avec des ressources externes, comme le téléchargement de fichiers de configuration ou de mises à jour.
' Download file from the specified URI address
Dim address As String = "http://example.com/file.zip"
Dim localFile As String = "C:\Downloads\file.zip"
Try
client.DownloadFile(address, localFile)
Console.WriteLine("Download complete.")
Catch ex As Exception
Console.WriteLine("Download failed: " & ex.Message)
End Try
Dans cet exemple, DownloadFile est utilisé pour récupérer un fichier à partir d'une string address et le sauvegarder en tant que fichier local. Le processus est enveloppé dans un bloc try-catch pour gérer les erreurs potentielles, telles qu'une erreur interne du serveur ou des problèmes de connectivité.
Traitement des données téléchargées en mémoire
Il peut arriver que vous souhaitiez traiter les données téléchargées directement en mémoire sans les enregistrer sur un disque. Cela peut être fait en utilisant la méthode DownloadData, qui renvoie un tableau d'octets :
Dim uriAddress As String = "http://example.com/data.json"
Try
Dim data() As Byte = client.DownloadData(uriAddress)
Dim json As String = System.Text.Encoding.UTF8.GetString(data)
Console.WriteLine("Data received: " & json)
Catch ex As Exception
Console.WriteLine("Error receiving data: " & ex.Message)
End Try
Ici, les données de uriAddress sont téléchargées dans un tableau d'octets. Il est ensuite converti en chaîne de caractères si les données sont au format JSON. Le traitement des données en mémoire est particulièrement utile lorsqu'il s'agit d'API qui renvoient des données au format JSON.
Téléchargement de données à l'aide du WebClient
Envoi de données à un serveur
Le WebClient peut également être utilisé pour envoyer des données à un serveur. Pour ce faire, on utilise généralement la méthode HTTP POST, qui permet d'envoyer des données dans le corps de la requête.
Dim postAddress As String = "http://example.com/api/post"
' Prepare string data for POST request
Dim stringData As String = "name=John&age=30"
Dim postData() As Byte = System.Text.Encoding.ASCII.GetBytes(stringData)
Try
Dim response() As Byte = client.UploadData(postAddress, "POST", postData)
' Log response headers and content
Console.WriteLine("Response received: " & System.Text.Encoding.ASCII.GetString(response))
Catch ex As Exception
Console.WriteLine("Post failed: " & ex.Message)
End Try
Cet extrait de code envoie postData au serveur. Les données sont d'abord encodées dans un tableau d'octets avant d'être envoyées. WebClient gère automatiquement l'en-tête de type de contenu pour les données sous forme de tableau d'octets, mais si vous devez envoyer des données dans un format différent, tel que JSON, vous devrez peut-être définir manuellement l'en-tête de type de contenu.
IronPDF avec WebClient
IronPDF est une bibliothèque .NET qui permet aux développeurs de créer, d'éditer et de gérer facilement des fichiers PDF. Il utilise un moteur de rendu Chrome pour un rendu précisConversion de HTML en PDF. Cette bibliothèque permet de convertir du contenu web, HTML et des images en PDF et comprend des fonctionnalités telles que les signatures numériques et la gestion des formulaires.
Il fonctionne avec différentes versions de .NET et prend en charge plusieurs systèmes d'exploitation, ce qui le rend polyvalent pour différents environnements de développement. IronPDF offre une documentation complète et une assistance solide pour aider les développeurs à intégrer les fonctionnalités PDF en douceur.
IronPDF excelle dans les domaines suivantsHTML vers PDFconversion, garantissant une préservation précise des mises en page et des styles originaux. C'est parfait pour créer des PDF à partir de contenus basés sur le web, tels que des rapports, des factures et de la documentation. Avec la prise en charge des fichiers HTML, des URL et des chaînes HTML brutes, IronPDF produit facilement des documents 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
Exemple de code
Voici un exemple basique d'utilisation d'IronPDF avec C# pour convertir un contenu HTML en PDF en utilisant la classe WebClient. Cet exemple de code montre comment récupérer du HTML à partir d'une URL et comment utiliser IronPDF pour générer un fichier PDF à partir de ce HTML.
using IronPdf;
using System.Net;
class Program
{
static void Main()
{
License.LicenseKey = "License-Key";
// Create a new WebClient instance to download HTML
using (WebClient client = new WebClient())
{
// Specify the URL of the HTML page
string url = "http://example.com";
string htmlString = client.DownloadString(url);
// Create a new HTML to PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlString);
// Save the PDF to a file
pdf.SaveAs("output.pdf");
}
}
}
using IronPdf;
using System.Net;
class Program
{
static void Main()
{
License.LicenseKey = "License-Key";
// Create a new WebClient instance to download HTML
using (WebClient client = new WebClient())
{
// Specify the URL of the HTML page
string url = "http://example.com";
string htmlString = client.DownloadString(url);
// Create a new HTML to PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlString);
// Save the PDF to a file
pdf.SaveAs("output.pdf");
}
}
}
Imports IronPdf
Imports System.Net
Friend Class Program
Shared Sub Main()
License.LicenseKey = "License-Key"
' Create a new WebClient instance to download HTML
Using client As New WebClient()
' Specify the URL of the HTML page
Dim url As String = "http://example.com"
Dim htmlString As String = client.DownloadString(url)
' Create a new HTML to PDF converter instance
Dim renderer = New ChromePdfRenderer()
' Convert HTML string to PDF
Dim pdf = renderer.RenderHtmlAsPdf(htmlString)
' Save the PDF to a file
pdf.SaveAs("output.pdf")
End Using
End Sub
End Class
Veillez à ajouter la bibliothèque IronPDF à votre projet. Vous pouvez généralement le faire via NuGet dans votre environnement de développement, en utilisant une commande comme :
Install-Package IronPdf
Voici le fichier PDF généré :
Conclusion
WebClient est une classe polyvalente du Framework .NET idéale pour diverses opérations de réseau, notamment le téléchargement et le chargement de fichiers. Ce tutoriel explique comment lancer un WebClient, personnaliser ses en-têtes, gérer les téléchargements de données et gérer les erreurs de manière efficace.
Au fur et à mesure que vous vous familiariserez avec WebClient, vous pourrez explorer des fonctionnalités plus avancées et envisager de passer à des solutions plus robustes comme HttpClient pour des scénarios plus complexes. IronPDF permet aux développeurs d'explorer ses fonctionnalités à l'aide d'unoptions de licence et tarifs avec des licences disponibles auprès de $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 Polly Retry (Comment ça marche pour les développeurs)
SUIVANT > C# Catch Multiple Exceptions (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. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier