Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
IronPDF convertit par programme des documents HTML en documents PDF.
Un exemple simple de cette technique peut êtretéléchargé et visualisé en tant que PDF Exemple.
Le code source de l'ensemble de cet article est disponible pour C# sous la forme d'un fichierC# HTML to PDF Project Source Code Download.
Le tutoriel suivant vous guidera à travers le processus d'utilisation d'IronPDF en tant queGénérateur de PDF C#. Il couvre les bases ainsi que de nombreux sujets avancés C# PDF.
Cette démo vous présente des exemples d'utilisation d'IronPDF. Demandez d'autres démonstrations de cas d'utilisation à Iron Software.
La démo se compose de Hello World,RenderHtmlAsPdf
(RenduHtmlAsPdf) etRenderUrlAsPdf
(RenderUrlAsPdf) exemples. Tous les exemples peuvent être trouvés dans les projets correspondants de la solution IronPDF Demo.
Vous pouvez installer IronPDF soit via NuGet. Le nom du paquet est Paquet NuGet IronPDF.
Vous pouvez également utiliser le Téléchargement direct de la bibliothèque.
Une fois IronPDF installé et référencé dans votre projet, vous pouvez commencer à l'utiliser immédiatement en tapant quelques chaînes de caractères :
var ChromePdfRenderer = new ChromePdfRenderer(); // new instance of ChromePdfRenderer
var ChromePdfRenderer = new ChromePdfRenderer(); // new instance of ChromePdfRenderer
Dim ChromePdfRenderer As New ChromePdfRenderer() ' new instance of ChromePdfRenderer
puis si vous devez transformer du HTML en PDF
// html to turn into pdf
var html = @"<h1>Hello World!</h1><br><p>This is IronPdf.</p>";
// turn html to pdf
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"));
// html to turn into pdf
var html = @"<h1>Hello World!</h1><br><p>This is IronPdf.</p>";
// turn html to pdf
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"));
' html to turn into pdf
Dim html = "<h1>Hello World!</h1><br><p>This is IronPdf.</p>"
' turn html to pdf
Dim pdf = ChromePdfRenderer.RenderHtmlAsPdf(html)
' save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRenderer.Pdf"))
ou si vous voulez transformer une page web en fichier PDF
// uri of the page to turn into pdf
var uri = new Uri("http://www.google.com/ncr");
// turn page into pdf
pdf = ChromePdfRenderer.RenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
// uri of the page to turn into pdf
var uri = new Uri("http://www.google.com/ncr");
// turn page into pdf
pdf = ChromePdfRenderer.RenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
' uri of the page to turn into pdf
Dim uri As New Uri("http://www.google.com/ncr")
' turn page into pdf
pdf = ChromePdfRenderer.RenderUrlAsPdf(uri)
' save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"))
Et c'est tout!
Les résultats correspondants sont les suivants :
Le résultat de la conversion de HTML en PDF**
Le résultat de la conversion d'une page web en PDF
L'exemple de code se trouve dans le projet IronPDFDemo.HelloWorld.
Pour évaluer un exemple plus concret, imaginons une facture HTML qui doit être transformée en PDF. Voici le code qui permet de le faire.
Note: Vous pouvez trouver la facture html sous le projet IronPDFDemo.DemoWebSite(~/Static/TestInvoice1.html). Veuillez noter que la facture comporte une feuille de style CSS personnalisée pour le type de média "impression".
La facture source se présente comme suit dans le navigateur :
Pour transformer ce fichier en fichier PDF, on utilise des codes similaires à ceux de l'exemple HelloWorld ci-dessus, la différence étant le fichier HTML source.
// read html from file
var html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"));
var ChromePdfRenderer = new ChromePdfRenderer();
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"));
// read html from file
var html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"));
var ChromePdfRenderer = new ChromePdfRenderer();
using var pdf = ChromePdfRenderer.RenderHtmlAsPdf(html);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"));
' read html from file
Dim html = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "TestInvoice1.html"))
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdf = ChromePdfRenderer.RenderHtmlAsPdf(html)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "ChromePdfRendererExample1.Pdf"))
Le résultat est le suivant :
Générer un fichier PDF à partir de HTML
Très bien! Vous trouverez l'exemple de code dans le projet IronPDFDemo.RenderHtmlAdPdfDemo.
Voir aussi cette question surComment utiliser des documents HTML ou des chaînes de caractères avec des tableaux d'octets dans IronPDF
Cette section permettra de personnaliser le PDF résultant de l'exemple 1. Par exemple, elle ajoutera des marges personnalisées, un en-tête avec le titre du document, un pied de page avec la date de création et les numéros de page, ainsi que des feuilles de style CSS personnalisées pour le type de média "impression" d'une facture standard. Pour ce faire, une instance de ChromePdfRenderOptions
est initialisée et passée dans le constructeur de ChromePdfRenderer
.
var pdfRenderingOptions= new ChromePdfRenderOptions()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
};
var chromePdfRenderer = new ChromePdfRenderer(pdfRenderingOptions);
var pdfRenderingOptions= new ChromePdfRenderOptions()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
};
var chromePdfRenderer = new ChromePdfRenderer(pdfRenderingOptions);
Dim pdfRenderingOptions= New ChromePdfRenderOptions() With {
.MarginTop = 50,
.MarginBottom = 50,
.TextHeader = New TextHeaderFooter() With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
},
.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
},
.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
}
Dim chromePdfRenderer As New ChromePdfRenderer(pdfRenderingOptions)
Astuce: Au lieu de passer les options en paramètre dans le constructeur, vous pouvez définir le champ correspondant pour une instance de ChromePdfRenderer
:
var chromePdfRenderer = new ChromePdfRenderer();
chromePdfRenderer.RenderingOptions = pdfRenderingOptions;
var chromePdfRenderer = new ChromePdfRenderer();
chromePdfRenderer.RenderingOptions = pdfRenderingOptions;
Dim chromePdfRenderer As New ChromePdfRenderer()
chromePdfRenderer.RenderingOptions = pdfRenderingOptions
Note: L'en-tête et le pied de page sont dotés d'une fonctionnalité de fusion, ce qui signifie que tous les champs de fusion({page}, {nombre total de pages}, {url}, {date}, {temps}, {titre html}, {titre du pdf}) peuvent être alimentées avec les données correspondantes.
Le reste du code est identique à celui de l'exemple 1. Le résultat est le suivant :
Générer une facture avec en-tête et pied de page
Les marges personnalisées, les en-têtes, les pieds de page et les feuilles de style CSS pour le type de média "impression" sont maintenant en place. Vous trouverez l'exemple de code dans le projet IronPDFDemo.RenderHtmlAdPdfDemo. D'autres paramètres peuvent être trouvés dans leRéférence de l'API IronPDF.
Pour exécuter les échantillons de cette section, vous devez héberger localement le site IronPDFDemo.DemoWebSite. Pour ce faire, dans IIS Express :
Naviguer vers DemoWebSite
Clic droit > Définir comme projet de démarrage
Démarrer sans débogage(Ctrl+F5)
Dans cette section, la facture hébergée de DemoWebSite est convertie en PDF en utilisant le même code que celui de l'exemple HelloWorld. La différence réside dans l'URL hébergée :
var uri = new Uri("http://localhost:51169/Static/TestInvoice1.html");
var urlToPdf = new ChromePdfRenderer();
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"));
var uri = new Uri("http://localhost:51169/Static/TestInvoice1.html");
var urlToPdf = new ChromePdfRenderer();
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"));
Dim uri As New Uri("http://localhost:51169/Static/TestInvoice1.html")
Dim urlToPdf = New ChromePdfRenderer()
Dim pdf = urlToPdf.RenderUrlAsPdf(uri)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample1.Pdf"))
Le résultat est le suivant :
Générer un site web hébergé en PDF
C'est très bien et ça ressemble à ce que l'on attendait. Vous trouverez l'exemple de code dans le projet IronPDFDemo.RenderUrlAsPdfDemo.
De nombreux sites web sont souvent protégés par une méthode d'authentification. Cette section utilise un nom d'utilisateur et un mot de passe fournis pendant le processus de rendu d'un fichier PDF avec quelques personnalisations : marges personnalisées, un en-tête avec le titre du document, un pied de page avec la date de création et les pages, et un CSS personnalisé pour le type de média "impression". L'URL de la facture est la suivante : http
Accéder à http
Formulaire d'authentification requis
Note: Les informations d'identification sont "testUser"/"testPassword".
Comment contourner l'authentification ? En définissant HttpLoginCredentials
:
var uri = new Uri("http://localhost:51169/Invoice");
var urlToPdf = new ChromePdfRenderer
{
PrintOptions = new ChromePdfRenderer()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
},
// setting login credentials to bypass basic authentication
LoginCredentials = new HttpLoginCredentials()
{
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
}
};
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"));
var uri = new Uri("http://localhost:51169/Invoice");
var urlToPdf = new ChromePdfRenderer
{
PrintOptions = new ChromePdfRenderer()
{
MarginTop = 50,
MarginBottom = 50,
TextHeader = new TextHeaderFooter()
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter()
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
},
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
},
// setting login credentials to bypass basic authentication
LoginCredentials = new HttpLoginCredentials()
{
NetworkUsername = "testUser",
NetworkPassword = "testPassword"
}
};
using var pdf = urlToPdf.RenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"));
Dim uri As New Uri("http://localhost:51169/Invoice")
Dim urlToPdf = New ChromePdfRenderer With {
.PrintOptions = New ChromePdfRenderer() With {
.MarginTop = 50,
.MarginBottom = 50,
.TextHeader = New TextHeaderFooter() With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
},
.TextFooter = New TextHeaderFooter() With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
},
.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
},
.LoginCredentials = New HttpLoginCredentials() With {
.NetworkUsername = "testUser",
.NetworkPassword = "testPassword"
}
}
Dim pdf = urlToPdf.RenderUrlAsPdf(uri)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdfExample2.Pdf"))
Note: La même personnalisation est utilisée que pour ChromePdfRenderer Example2.
Le résultat est le suivant :
Générer un site HTML avec des informations d'identification pour un fichier PDF
Tout est en place. Vous trouverez un exemple de code dans le projet IronPDFDemo.RenderUrlAsPdfDemo. Si vous vous demandez à quoi ressemblerait le résultat sans HttpLoginCredentials, le voici :
Générer un fichier PDF vide sans informations d'identification
Voir également le site de Jean.NET HTML to PDF Tutorial
En outre, IronPDF peut également interagir avec le format PDF de différentes manières :
9 produits de l'API .NET pour vos documents de bureau