How to Convert HTML String to PDF in C
IronPDF convertit des chaînes HTML en documents PDF en C# à l'aide d'un moteur de rendu Chrome, prenant en charge tous les contenus HTML5, CSS3 et JavaScript avec une seule ligne de code pour les conversions de base. La bibliothèque offre de puissantes fonctionnalités pour créer des PDF tout en conservant une parfaite fidélité de rendu.
IronPDF permet aux développeurs de créer facilement des documents PDF en C#, F# et VB.NET for .NET Core et .NET Framework. IronPDF prend en charge le rendu de n'importe quelle chaîne HTML en PDF, et le processus de rendu utilise une version pleinement fonctionnelle du moteur Google Chromium. Cela garantit que le contenu HTML s'affiche exactement comme il le ferait dans un navigateur web moderne, ce qui le rend idéal pour générer des rapports, des factures et des documents à partir d'un contenu HTML dynamique.
Démarrage rapide : Convertir une chaîne HTML en PDF en quelques secondes
Transformez des chaînes HTML en fichiers PDF à l'aide d'IronPDF. Ce guide démontre comment convertir une chaîne HTML en un document PDF en C# avec un minimum de code. Parfait pour les développeurs qui ont besoin d'intégrer des fonctionnalités de rendu PDF dans leurs projets.
-
Installez IronPDF avec le Gestionnaire de Packages NuGet
PM > Install-Package IronPdf -
Copiez et exécutez cet extrait de code.
IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("string-to-pdf.pdf"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Télécharger la bibliothèque IronPDF C# depuis NuGet
- Instancier le moteur de rendu PDF et passer la chaîne HTML
- Configurer le chemin de base pour les ressources externes dans le PDF
- Configurez les Options de rendu pour affiner le PDF de sortie
- Enregistrez et téléchargez le PDF généré
Comment convertir une simple chaîne HTML en PDF?
Voici un exemple d'IronPDF rendant une chaîne HTML en PDF à l'aide de la méthode RenderHtmlAsPdf. Le paramètre est une chaîne HTML à rendre en PDF. Cette méthode fait partie de la classe ChromePdfRenderer, qui offre un contrôle étendu sur les options de rendu pour vos besoins en matière de génération de PDF.
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
La méthode RenderHtmlAsPdf renvoie un objet PdfDocument, qui contient des informations PDF et fournit des méthodes pour manipuler le PDF, notamment pour fusionner des PDF, ajouter des filigranes et définir des options de sécurité.
using pour les scénarios à haut débit. ChromePdfRenderer est thread-safe et peut être instancié une seule fois puis réutilisé pour toutes les requêtes afin d'améliorer les performances.Lorsqu'une chaîne HTML est obtenue à partir d'une source externe et que vous devez désactiver l'accès au disque local ou les requêtes inter-origines, définissez IronPdf.Installation.EnableWebSecurity sur true avant le rendu. Il s'agit d'un paramètre global statique, et non d'une propriété d'instance du moteur de rendu.
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;
' Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = True
Pour le contenu HTML complexe qui inclut un style CSS, améliorez vos chaînes HTML avec des styles en ligne ou faites référence à des feuilles de style externes à l'aide de la fonctionnalité Url de base et codage des actifs :
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
// Example with inline CSS
var styledHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";
using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");
Dim styledHtml As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h1 { color: #333; border-bottom: 2px solid #0066cc; }
p { line-height: 1.6; }
</style>
</head>
<body>
<h1>Professional Report</h1>
<p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>"
Using styledPdf = renderer.RenderHtmlAsPdf(styledHtml)
styledPdf.SaveAs("styled-output.pdf")
End Using
À quoi ressemble le PDF généré?
Voici le fichier que le code a produit :
Le PDF généré conserve la mise en forme et le style exacts de votre HTML, ce qui le rend parfait pour générer des rapports PDF ou convertir du contenu web en documents prêts à imprimer.
Comment puis-je inclure des ressources externes lors de la conversion de HTML en PDF?
Cet exemple montre qu'IronPDF charge une ressource image externe à partir d'un chemin de base optionnel. La définition de la propriété BaseUrlOrPath donne le chemin de fichier relatif ou le contexte d'URL pour les hyperliens, images, fichiers CSS et JavaScript. Ceci est essentiel lorsque vous travaillez avec des images dans des fichiers PDF ou lorsque vous devez faire référence à des ressources externes.
:path=/static-assets/pdf/content-code-examples/how-to/html-string-to-pdf-2.cs
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Private myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
Pour les scénarios avancés impliquant des mises en page complexes ou du contenu dynamique, utilisez la prise en charge par IronPDF du rendu JavaScript :
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>";
// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");
Imports System
' Example with JavaScript-generated content
Dim jsHtml As String = "
<html>
<head>
<script>
window.onload = function() {
document.getElementById('dynamic').innerHTML =
'Generated on: ' + new Date().toLocaleString();
};
</script>
</head>
<body>
<h1>Dynamic Content Example</h1>
<div id='dynamic'></div>
</body>
</html>"
' Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500) ' milliseconds
Using dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, "C:\site\")
dynamicPdf.SaveAs("dynamic-content.pdf")
End Using
Lorsque vous travaillez avec des ressources externes, vous pouvez être amené à gérer l'authentification ou des en-têtes spéciaux. IronPDF prend cela en charge par le biais de la fonctionnalité HTTP Request Header, ce qui vous permet d'inclure des jetons d'autorisation ou des en-têtes personnalisés lors de la récupération de ressources.
Pourquoi la définition de BasePath est-elle importante pour les ressources externes ?
Voici le fichier que le code a produit :
En définissant correctement le BasePath, vous vous assurez que toutes les références relatives dans votre HTML sont résolues correctement. Sans cela, IronPDF ne peut pas localiser les ressources externes telles que les images, les feuilles de style ou les scripts. Ceci est particulièrement important lorsque :
- Conversion de HTML faisant référence à des ressources du système de fichiers local
- Travailler avec des systèmes de gestion de contenu qui utilisent des URL relatives
- Migration du contenu web existant au format PDF
- Création de modèles utilisant des ressources partagées
Pour les ressources basées sur le web, utilisez une URL complète comme chemin de base :
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
);
' Using a web URL as base path
Dim webBasedPdf = renderer.RenderHtmlAsPdf(
"<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>",
"https://mywebsite.com"
)
Pour un contrôle accru du processus de génération de PDF, explorez la documentation complète d'IronPDF sur les marges personnalisées, l'orientation des pages et la compression des PDF afin d'optimiser vos fichiers de sortie pour divers cas d'utilisation.
Questions Fréquemment Posées
Comment convertir une simple chaîne HTML en PDF en C# ?
Vous pouvez convertir une chaîne HTML en PDF en utilisant la classe ChromePdfRenderer d'IronPDF avec la méthode RenderHtmlAsPdf. Il suffit d'instancier le moteur de rendu, de transmettre votre chaîne HTML à la méthode et d'enregistrer l'objet PdfDocument qui en résulte. IronPDF utilise un moteur de rendu Chrome pour garantir une fidélité parfaite.
Quel est le moteur de rendu utilisé pour la conversion de HTML en PDF ?
IronPDF utilise une version entièrement fonctionnelle du moteur Google Chromium pour le rendu de HTML en PDF. Cela garantit que votre contenu HTML, y compris HTML5, CSS3 et JavaScript, s'affiche exactement comme il le ferait dans un navigateur web moderne.
Puis-je convertir du HTML avec un style CSS en PDF ?
Oui, IronPDF prend en charge la conversion de HTML avec des styles CSS en PDF. Vous pouvez utiliser des styles en ligne directement dans votre chaîne HTML ou référencer des feuilles de style externes en utilisant la fonction Base URLs & Asset Encoding pour assurer un rendu correct du contenu stylisé.
Quel est le moyen le plus rapide de convertir HTML en PDF ?
Le moyen le plus rapide consiste à utiliser la méthode statique d'IronPDF : IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("Votre HTML").SaveAs("sortie.pdf"). Cette simple ligne de code convertit votre chaîne HTML et l'enregistre en tant que fichier PDF.
Comment gérer les ressources externes lors de la conversion de chaînes HTML ?
IronPDF vous permet de configurer le chemin d'accès de base (BasePath) pour les ressources externes dans votre PDF. Cela permet de s'assurer que les images, les feuilles de style et les autres ressources référencées dans votre HTML sont correctement chargées pendant le processus de conversion.
Puis-je personnaliser la sortie PDF lors de la conversion à partir de HTML ?
Oui, IronPDF fournit des options de rendu étendues pour affiner votre sortie PDF. Vous pouvez contrôler la taille des pages, les marges, les en-têtes, les pieds de page et de nombreux autres aspects du PDF généré grâce à la classe ChromePdfRenderer.
Que puis-je faire avec le PDF généré après la conversion ?
L'objet PdfDocument d'IronPDF offre de nombreuses méthodes de manipulation des PDF, notamment la fusion de PDF, l'ajout de filigranes, la définition d'options de sécurité, etc. Le PDF converti peut être enregistré sur le disque, diffusé en continu ou traité ultérieurement selon les besoins.
Comment gérer la sécurité lors de la conversion de fichiers HTML provenant de sources externes ?
Lors de la conversion de HTML à partir de sources externes, IronPDF vous permet de définir la propriété EnableWebSecurity sur true sur le ChromePdfRenderer. Cela désactive l'accès au disque local et les requêtes inter-origines pour une sécurité accrue.

