Conversion de HTML en PDF dans .NET Core Tutorial

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF

.NET Core Générateur de PDF

La création de fichiers PDF .NET Core est une tâche fastidieuse. Travailler avec des PDF dans des projets ASP.NET MVC, ainsi que convertir des vues MVC, des fichiers HTML et des pages web en ligne en PDF peut s'avérer difficile. Ce tutoriel utilise l'outil IronPDF pour s'attaquer à ces problèmes et fournit des instructions pour la plupart de vos besoins en matière de PDF .NET.

IronPDF prend également en charge le débogage de votre HTML avec Chrome pour des PDF Pixel Perfect. Un tutoriel pour la mise en place de ce système est disponible à l'adresse suivante ici.


Vue d'ensemble

Après ce tutoriel, vous serez en mesure de :

  • Convertir en PDF à partir de différentes sources telles que URL, HTML, vues MVC
  • Utiliser les options avancées utilisées pour les différents paramètres de sortie du PDF
  • Déployer votre projet sous Linux et Windows
  • Travailler avec des capacités de manipulation de documents PDF
  • Ajout d'en-têtes et de pieds de page, fusion de fichiers, ajout de tampons
  • Travailler avec Dockers

    Ce large éventail de fonctionnalités .NET Core HTML to PDF permettra de répondre à toute une série de besoins en matière de projets.


Étape 1

1. Installer la bibliothèque IronPDF gratuitement

Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Découvrez IronPDF sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme PDF avec C#.

Bibliothèque NuGet C# pour PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

Envisagez d'installer le IronPDF DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}

Installation manuelle dans votre projet

Télécharger la DLL

IronPDF peut être installé et utilisé sur tous les types de projets .NET, comme les applications Windows, ASP.NET MVC et les applications .NET Core.

Pour ajouter la bibliothèque IronPDF à notre projet nous avons deux possibilités, soit à partir de l'éditeur de Visual Studio installer en utilisant NuGet, soit avec une ligne de commande en utilisant le gestionnaire de console de paquetage.

Installation à l'aide de NuGet

Pour ajouter la bibliothèque IronPDF à notre projet à l'aide de NuGet, nous pouvons utiliser l'interface visualisée (Gestionnaire de paquets NuGet) ou par commande à l'aide de la console du gestionnaire de paquets :

1.1.1 Utilisation du gestionnaire de paquets NuGet

1- Cliquer avec le bouton droit de la souris sur le nom du projet -> Sélectionner Gérer les paquets NuGet 2- Depuis l'onglet du navigateur -> rechercher IronPDF -> Installer 3- Cliquez sur Ok 4- C'est fait !

1.1.2 Utilisation du gestionnaire de la console des paquets NuGet

1- Depuis Tools -> NuGet Package Manager -> Package Manager Console 2- Exécuter la commande -> Installer-Package IronPDF


Tutoriels

2. Convertir un site web en PDF

Exemple : Application console ConvertUrlToPdf

Procédez comme suit pour créer un nouveau projet Asp.NET MVC


1- Ouvrir Visual Studio 2- Choisissez Créer un nouveau projet 3- Choisir l'application console (.NET Core) 4- Donnez à notre exemple le nom "ConvertUrlToPdf" et cliquez sur créer 5- Nous avons maintenant créé une application console 6- Ajouter IronPDF => cliquer sur installer

7- Ajouter nos premières lignes qui rendent la page d'accueil d'un site Wikipedia au format PDF

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-1.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.wikipedia.org/");
pdf.SaveAs("wiki.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

8- Exécuter et vérifier le fichier créé wiki.pdf


3. Convertir le HTML de .NET Core en PDF

Exemple : Application console ConvertHTMLToPdf

Pour convertir HTML en PDF, nous avons deux possibilités :
1- Écrire du HTML dans une chaîne de caractères et le restituer
2- Écrire du HTML dans un fichier et transmettre le chemin d'accès à IronPDF pour le rendre

Le rendu de l'exemple de code de la chaîne HTML ressemblera à ceci.

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-2.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
pdf.SaveAs("HtmlString.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Le PDF qui en résultera ressemblera à ceci.


4. Convertir une vue MVC en PDF

Exemple : TicketsApps .NET Core MVC Application

Prenons un exemple concret. J'ai choisi un site de billetterie en ligne. Ouvrez le site, naviguez jusqu'à "réserver un billet", remplissez les informations demandées, puis téléchargez votre exemplaire au format PDF.

Nous allons suivre ces étapes :

Créer un projet

  1. Choisissez "ASP.NET Core Web App" (Modèle-Vue-Contrôleur)projet ".

  2. Nommez le projet "TicketsApps"

  3. Utilisons .NET 8 avec Linux Docker activé. Dans le fichier Docker, remplacez "USER app" par "USER root". Cela permet de s'assurer que des autorisations suffisantes sont accordées à la bibliothèque.

  4. Il est maintenant prêt.

Ajouter un modèle de client

  1. Cliquez avec le bouton droit de la souris sur le dossier "Models" et ajoutez une classe.

  2. Nommez le modèle "ClientModel" puis cliquez sur ajouter.

  3. Ajoutez les attributs "name", "phone" et "email" à la classe ClientModel. Rendez-les tous obligatoires en ajoutant l'attribut "Required" à chacun d'entre eux comme suit :
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-3.cs
public class ClientModel
{
    [Required]
    public string Name { get; set; }
    [Required]
    public string Phone { get; set; }
    [Required]
    public string Email { get; set; }
}
Public Class ClientModel
	<Required>
	Public Property Name() As String
	<Required>
	Public Property Phone() As String
	<Required>
	Public Property Email() As String
End Class
VB   C#

Ajouter les services à la clientèle

  1. Créez un dossier et nommez-le "services"

  2. Ajouter une classe nommée "ClientServices"

  3. Ajouter un objet statique de type "ClientModel" pour l'utiliser comme référentiel.

  4. Ajouter deux fonctions : l'une pour enregistrer les clients dans le référentiel, l'autre pour récupérer les clients enregistrés.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-4.cs
public class ClientServices
{
    private static ClientModel _clientModel;
    public static void AddClient(ClientModel clientModel)
    {
        _clientModel = clientModel;
    }
    public static ClientModel GetClient()
    {
        return _clientModel;
    }
}
Public Class ClientServices
	Private Shared _clientModel As ClientModel
	Public Shared Sub AddClient(ByVal clientModel As ClientModel)
		_clientModel = clientModel
	End Sub
	Public Shared Function GetClient() As ClientModel
		Return _clientModel
	End Function
End Class
VB   C#

Conception d'une page de réservation de billets

  1. Dans l'explorateur de solutions, faites un clic droit sur le dossier "Controllers" et ajoutez un contrôleur.

  2. Nommez-le "BookTicketController"

  3. Cliquez avec le bouton droit de la souris sur la fonction d'indexation (ou, comme nous l'appelions, l'action) et choisissez "Ajouter une vue"

  4. Ajouter une vue nommée "index"

  5. Mettre à jour le code HTML comme suit
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-5.cs
@model IronPdfMVCHelloWorld.Models.ClientModel
@{
  ViewBag.Title = "Book Ticket";
}
<h2>Index</h2>
@using (Html.BeginForm())
{
  <div class="form-horizontal">
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
      @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
      <div class="col-md-10">
        @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
      </div>
    </div>
    <div class="form-group">
      @Html.LabelFor(model => model.Phone, htmlAttributes: new { @class = "control-label col-md-2" })
      <div class="col-md-10">
        @Html.EditorFor(model => model.Phone, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Phone, "", new { @class = "text-danger" })
      </div>
    </div>
    <div class="form-group">
      @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
      <div class="col-md-10">
        @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
      </div>
    </div>
    <div class="form-group">
      <div class="col-md-10 pull-right">
        <button type="submit" value="Save" class="btn btn-sm">
          <i class="fa fa-plus"></i>
          <span>
            Save
          </span>
        </button>
      </div>
    </div>
  </div>
}
model ReadOnly Property () As IronPdfMVCHelloWorld.Models.ClientModel
  ViewBag.Title = "Book Ticket"
End Property
'INSTANT VB TODO TASK: The following line could not be converted:
(Of h2) Index</h2> [using](Html.BeginForm())
If True Then
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'  <div class="form-horizontal"> @Html.ValidationSummary(True, "", New { @class = "text-danger" }) <div class="form-group"> @Html.LabelFor(model => model.Name, htmlAttributes: New { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Name, New { htmlAttributes = New { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Name, "", New { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Phone, htmlAttributes: New { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Phone, New { htmlAttributes = New { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Phone, "", New { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Email, htmlAttributes: New { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Email, New { htmlAttributes = New { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Email, "", New { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-10 pull-right"> <button type="submit" value="Save" class="btn btn-sm"> <i class="fa fa-plus"></i> <span> Save </span> </button> </div> </div> </div> }
VB   C#
  1. Ajouter un lien de navigation pour permettre aux visiteurs de notre site web de naviguer vers notre nouvelle page de réservation. Pour ce faire, il suffit de mettre à jour la disposition dans le chemin d'accès existant (Vues -> Partagées -> _Layout.cshtml). Ajoutez le code suivant :
<li class="nav-item">
    <a
        class="nav-link text-dark"
        asp-area=""
        asp-controller="BookTicket"
        asp-action="Index"
        >Book Ticket</a
    >
</li>
<li class="nav-item">
    <a
        class="nav-link text-dark"
        asp-area=""
        asp-controller="BookTicket"
        asp-action="Index"
        >Book Ticket</a
    >
</li>
HTML
  1. Le résultat devrait ressembler à ceci.

  2. Accédez à la page "Réserver un billet". Il devrait ressembler à ceci :

Valider et sauvegarder les informations de réservation

  1. Ajouter une autre action d'indexation avec l'attribut [HttpPost] pour informer le moteur MVC que cette action sert à soumettre des données. Validez le modèle envoyé, et s'il est valide, le code redirigera le visiteur vers la page TicketView. S'il n'est pas valide, le visiteur recevra des messages d'erreur de validation à l'écran.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-7.cs
[HttpPost]
public ActionResult Index(ClientModel model)
{
    if (ModelState.IsValid)
    {
        ClientServices.AddClient(model);
        return RedirectToAction("TicketView");
    }
  return View(model);
}
<HttpPost>
Public Function Index(ByVal model As ClientModel) As ActionResult
	If ModelState.IsValid Then
		ClientServices.AddClient(model)
		Return RedirectToAction("TicketView")
	End If
  Return View(model)
End Function
VB   C#

Exemple de messages d'erreur

  1. Créez un modèle Ticket dans le fichier "Models" et ajoutez le code suivant
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-9.cs
public class TicketModel : ClientModel
{
    public int TicketNumber { get; set; }
    public DateTime TicketDate { get; set; }
}
Public Class TicketModel
	Inherits ClientModel

	Public Property TicketNumber() As Integer
	Public Property TicketDate() As DateTime
End Class
VB   C#
  1. Ajoutez TicketView pour afficher notre billet. Cette vue héberge une vue partielle du billet qui est chargée d'afficher le billet et qui sera utilisée ultérieurement pour l'imprimer.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-8.cs
public ActionResult TicketView()
{
    var rand = new Random();
    var client = ClientServices.GetClient();
    var ticket = new TicketModel()
    {
        TicketNumber = rand.Next(100000, 999999),
        TicketDate = DateTime.Now,
        Email = client.Email,
        Name = client.Name,
        Phone = client.Phone
    };

    return View(ticket);
}
Public Function TicketView() As ActionResult
	Dim rand = New Random()
	Dim client = ClientServices.GetClient()
	Dim ticket = New TicketModel() With {
		.TicketNumber = rand.Next(100000, 999999),
		.TicketDate = DateTime.Now,
		.Email = client.Email,
		.Name = client.Name,
		.Phone = client.Phone
	}

	Return View(ticket)
End Function
VB   C#
  1. Cliquez avec le bouton droit de la souris sur la fonction TicketView, choisissez "Ajouter une vue" et nommez-la "TicketView". Ajoutez le code suivant :
@model TicketsApps.Models.TicketModel @{ ViewData["Title"] = "TicketView"; }
@Html.Partial("_TicketPdf", Model) @using (Html.BeginForm()) { @Html.HiddenFor(c
=> c.Email) @Html.HiddenFor(c => c.Name) @Html.HiddenFor(c => c.Phone)
@Html.HiddenFor(c => c.TicketDate) @Html.HiddenFor(c => c.TicketNumber)

<div class="form-group">
    <div class="col-md-10 pull-right">
        <button type="submit" value="Save" class="btn btn-sm">
            <i class="fa fa-plus"></i>
            <span> Download Pdf </span>
        </button>
    </div>
</div>
}
@model TicketsApps.Models.TicketModel @{ ViewData["Title"] = "TicketView"; }
@Html.Partial("_TicketPdf", Model) @using (Html.BeginForm()) { @Html.HiddenFor(c
=> c.Email) @Html.HiddenFor(c => c.Name) @Html.HiddenFor(c => c.Phone)
@Html.HiddenFor(c => c.TicketDate) @Html.HiddenFor(c => c.TicketNumber)

<div class="form-group">
    <div class="col-md-10 pull-right">
        <button type="submit" value="Save" class="btn btn-sm">
            <i class="fa fa-plus"></i>
            <span> Download Pdf </span>
        </button>
    </div>
</div>
}
HTML
  1. Faites un clic droit sur le fichier BookTicket, ajoutez une autre vue et nommez-la "_TicketPdf" Ajoutez le code suivant :
@model TicketsApps.Models.TicketModel @{ Layout = null; }
<link href="../css/ticket.css" rel="stylesheet" />
<div class="ticket">
    <div class="stub">
        <div class="top">
            <span class="admit">VIP</span>
            <span class="line"></span>
            <span class="num">
                @Model.TicketNumber
                <span> Ticket</span>
            </span>
        </div>
        <div class="number">1</div>
        <div class="invite">Room Number</div>
    </div>
    <div class="check">
        <div class="big">
            Your <br />
            Ticket
        </div>
        <div class="number">VIP</div>
        <div class="info">
            <section>
                <div class="title">Date</div>
                <div>@Model.TicketDate.ToShortDateString()</div>
            </section>
            <section>
                <div class="title">Issued By</div>
                <div>Admin</div>
            </section>
            <section>
                <div class="title">Invite Number</div>
                <div>@Model.TicketNumber</div>
            </section>
        </div>
    </div>
</div>
@model TicketsApps.Models.TicketModel @{ Layout = null; }
<link href="../css/ticket.css" rel="stylesheet" />
<div class="ticket">
    <div class="stub">
        <div class="top">
            <span class="admit">VIP</span>
            <span class="line"></span>
            <span class="num">
                @Model.TicketNumber
                <span> Ticket</span>
            </span>
        </div>
        <div class="number">1</div>
        <div class="invite">Room Number</div>
    </div>
    <div class="check">
        <div class="big">
            Your <br />
            Ticket
        </div>
        <div class="number">VIP</div>
        <div class="info">
            <section>
                <div class="title">Date</div>
                <div>@Model.TicketDate.ToShortDateString()</div>
            </section>
            <section>
                <div class="title">Issued By</div>
                <div>Admin</div>
            </section>
            <section>
                <div class="title">Invite Number</div>
                <div>@Model.TicketNumber</div>
            </section>
        </div>
    </div>
</div>
HTML
  1. Ajouter le texte suivant "ticket.css"dans le fichier "wwwroot/css".

  2. Ajoutez IronPDF au projet et acceptez la licence.

  3. Ajoutez la méthode post TicketView qui gérera le bouton de téléchargement.
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-10.cs
[HttpPost]
public ActionResult TicketView(TicketModel model)
{
    IronPdf.Installation.TempFolderPath = $@"{Directory.GetParent}/irontemp/";
    IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
    var html = this.RenderViewAsync("_TicketPdf", model);
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf(html.Result, @"wwwroot/css");
    return File(pdf.Stream.ToArray(), "application/pdf");
}
<HttpPost>
Public Function TicketView(ByVal model As TicketModel) As ActionResult
	IronPdf.Installation.TempFolderPath = $"{AddressOf Directory.GetParent}/irontemp/"
	IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
	Dim html = Me.RenderViewAsync("_TicketPdf", model)
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderHtmlAsPdf(html.Result, "wwwroot/css")
	Return File(pdf.Stream.ToArray(), "application/pdf")
End Function
VB   C#
  1. Créez un contrôleur dans le fichier "Controller" et nommez-le "ControllerExtensions". Ce contrôleur rendra la vue partielle sous la forme d'une chaîne de caractères. Utilisez le code d'extension comme suit :
:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-11.cs
using System.IO;
using System.Threading.Tasks;

public static class ControllerExtensions
{
    public static async Task<string> RenderViewAsync<TModel>(this Controller controller, string viewName, TModel model, bool partial = false)
    {
        if (string.IsNullOrEmpty(viewName))
        {
            viewName = controller.ControllerContext.ActionDescriptor.ActionName;
        }
        controller.ViewData.Model = model;
        using (var writer = new StringWriter())
        {
            IViewEngine viewEngine = controller.HttpContext.RequestServices.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;
            ViewEngineResult viewResult = viewEngine.FindView(controller.ControllerContext, viewName, !partial);
            if (viewResult.Success == false)
            {
                return $"A view with the name {viewName} could not be found";
            }
            ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, writer, new HtmlHelperOptions());
            await viewResult.View.RenderAsync(viewContext);
            return writer.GetStringBuilder().ToString();
        }
    }
}
Imports System.IO
Imports System.Threading.Tasks

Public Module ControllerExtensions
	<System.Runtime.CompilerServices.Extension> _
	Public Async Function RenderViewAsync(Of TModel)(ByVal controller As Controller, ByVal viewName As String, ByVal model As TModel, Optional ByVal As Boolean = False) As Task(Of String)
		If String.IsNullOrEmpty(viewName) Then
			viewName = controller.ControllerContext.ActionDescriptor.ActionName
		End If
		controller.ViewData.Model = model
		Using writer = New StringWriter()
			Dim viewEngine As IViewEngine = TryCast(controller.HttpContext.RequestServices.GetService(GetType(ICompositeViewEngine)), ICompositeViewEngine)
			Dim viewResult As ViewEngineResult = viewEngine.FindView(controller.ControllerContext, viewName, Not partial)
			If viewResult.Success = False Then
				Return $"A view with the name {viewName} could not be found"
			End If
			Dim viewContext As New ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, writer, New HtmlHelperOptions())
			Await viewResult.View.RenderAsync(viewContext)
			Return writer.GetStringBuilder().ToString()
		End Using
	End Function
End Module
VB   C#
  1. Lancez la demande et remplissez les informations relatives au billet, puis cliquez sur "Enregistrer".

  2. Visualiser le ticket généré

Télécharger le billet PDF

Pour télécharger le billet au format PDF, cliquez sur "Télécharger Pdf". Vous recevrez un PDF contenant le billet.

Vous pouvez télécharger le code complet de ce guide. Il s'agit d'un fichier zippé que vous pouvez ouvrir dans Visual Studio. Cliquez ici pour télécharger le projet.


5. tableau des options de rendu des PDF .NET

Nous disposons d'options avancées qui définissent les options de rendu du PDF, comme l'ajustement des marges,

l'orientation du papier, le format du papier, etc.

Le tableau ci-dessous illustre les nombreuses options possibles.

ClasseChromePdfRenderer
DescriptionPermet de définir les options d'impression du PDF, comme la taille du papier, le DPI, les en-têtes et les pieds de page
Propriétés / fonctionsTypeDescription
Cookies personnalisésDictionnaire<chaîne de caractères, chaîne de caractères> ;Cookies personnalisés pour le rendu HTML. Les cookies ne persistent pas entre les rendus et doivent être définis à chaque fois.
PaperFitGestionnaire de mise en page virtuelleUn gestionnaire pour configurer des mises en page de papier virtuel, contrôlant la façon dont le contenu sera mis en page sur les pages PDF "papier". Inclut des options pour le comportement par défaut de Chrome, le zoom, les mises en page CSS3 réactives, la mise à l'échelle de la page et l'alimentation continue des pages PDF.
Utiliser les marges sur l'en-tête et le pied de pageUtiliser les margesUtiliser les valeurs de marge du document principal lors du rendu des en-têtes et des pieds de page.
Créer des formulaires PDF à partir de HTMLboolTransforme tous les éléments de formulaire HTML en formulaires PDF éditables. La valeur par défaut est true.
CssMediaTypePdfCssMediaTypeActive les styles et feuilles de style CSS Media="screen". La valeur par défaut est PdfCssMediaType.Screen.
CustomCssUrlchaîne de caractèresPermet d'appliquer une feuille de style CSS personnalisée au code HTML avant le rendu. Il peut s'agir d'un chemin d'accès à un fichier local ou d'une URL distante. Uniquement applicable lors du rendu de HTML en PDF.
ActiverJavaScriptboolPermet l'exécution de JavaScript et de JSON avant le rendu de la page. Idéal pour l'impression à partir d'applications Ajax / Angular. La valeur par défaut est false.
ActiverMathematicalLaTexboolPermet le rendu des éléments mathématiques LaTeX.
Javascriptchaîne de caractèresA custom JavaScript chaîne de caractères to be executed after all HTML has loaded but before PDF rendering.
JavascriptMessageListenerDélégué de chaîneUne méthode de rappel à invoquer chaque fois qu'un message de console JavaScript du navigateur est disponible.
Numéro de la première pageintPremier numéro de page à utiliser dans les en-têtes et pieds de page du PDF. La valeur par défaut est 1.
Table des matièresTable des matièresTypesGénère une table des matières à l'endroit du document HTML où un élément est trouvé avec l'id "IronPDF-toc".
Échelle de grisboolProduit un PDF en noir et blanc. La valeur par défaut est false.
TextHeaderITextHeaderFooterDéfinit le contenu du pied de page de chaque page PDF sous forme de texte, prend en charge le "mail-merge" et transforme automatiquement les URL en hyperliens.
Pied de page
HtmlHeaderHtmlHeaderFooterDéfinit le contenu de l'en-tête de chaque page PDF en HTML. Prend en charge la fusion de courriers électroniques.
HtmlFooter
InputEncodageEncodageThe input character encoding as a chaîne de caractères. Default value is Encodage.UTF8.
MarginTopdoubleMarge "papier" supérieure du PDF en millimètres. La valeur zéro est utilisée pour les applications d'impression sans bordure et les applications commerciales. La valeur par défaut est 25.
Droit à la margedoubleMarge "papier" droite du PDF en millimètres. La valeur zéro est utilisée pour les applications d'impression sans bordure et les applications commerciales. La valeur par défaut est 25.
MarginBottomdoubleMarge "papier" inférieure du PDF en millimètres. La valeur zéro est utilisée pour les applications d'impression sans bordure et les applications commerciales. La valeur par défaut est 25.
MargeGauchedoubleMarge "papier" gauche du PDF en millimètres. La valeur zéro est utilisée pour les applications d'impression sans bordure et les applications commerciales. La valeur par défaut est 25.
Orientation du papierPdfOrientation du papierOrientation du papier PDF, par exemple Portrait ou Paysage. La valeur par défaut est Portrait.
Taille du papierPdfTaille du papierDéfinit le format du papier
SetCustomTaille du papierinCentimetersdoubleDéfinit le format du papier in centimeters.
SetCustomTaille du papierInInchesDéfinit le format du papier in inches.
SetCustomTaille du papierinMilimetersDéfinit le format du papier in millimeters.
SetCustomTaille du papierinPixelsOrPointsDéfinit le format du papier in screen pixels or printer points.
PrintHtmlBackgroundsBooléenIndique si les couleurs d'arrière-plan et les images doivent être imprimées à partir du code HTML. La valeur par défaut est true.
RequestContextDemandeContextesContexte de la demande pour ce rendu, déterminant l'isolement de certaines ressources telles que les cookies.
Délai d'attenteEntierDélai de rendu en secondes. La valeur par défaut est 60.
TitreChaînePDF Document Name and Titre metadata, useful for mail-merge and automatic file naming in the IronPdf MVC and Razor extensions.
ForceTaille du papierBooléenForce page sizes to be exactly what is specified via IronPdf.ChromePdfRenderOptions.Taille du papier by resizing the page after generating a PDF from HTML. Helps correct small errors in page size when rendering HTML to PDF.
AttendreAttendreUn objet enveloppant qui contient la configuration du mécanisme d'attente permettant aux utilisateurs d'attendre certains événements avant d'effectuer le rendu. Par défaut, il n'attend rien.

ClasseTextHeaderFooter
DescriptionUtilisé pour définir les options d'affichage de l'en-tête et du pied de page du texte
Propriétés \ fonctionsTypeDescription
CenterTextchaîne de caractèresSet the text in centered/left/right of PDF header or footer. Can also merge metadata using chaîne de caractèress placeholders: {page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title}
Texte gauche
Texte droit
DrawDividerLineBooléenAjoute une ligne de séparation horizontale entre l'en-tête/le pied de page et le contenu de chaque page du document PDF.
DrawDividerLineCouleur (Couleur de la ligne de séparation)CouleurLa couleur de la ligne de séparation spécifiée pour IronPDF.TextHeaderFooter.DrawDividerLine.
PolicePdfPolicePolice family used for the PDF document. Default is IronSoftware.Drawing.PoliceTypes.Helvetica.
PoliceSizeDoublePolice size in pixels.

7. Appliquer les options d'impression (rendu) du PDF

Essayons de configurer nos options de rendu PDF.

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-12.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set rendering options
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

renderer.RenderHtmlFileAsPdf(@"testFile.html").SaveAs("GeneratedFile.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

8. Docker les applications .NET Core

8.1. Qu'est-ce que Docker ?

Docker est un ensemble de produits de plateforme en tant que service qui utilise la virtualisation au niveau du système d'exploitation pour fournir des logiciels dans des paquets appelés conteneurs. Les conteneurs sont isolés les uns des autres et regroupent leurs propres logiciels, bibliothèques et fichiers de configuration ; ils peuvent communiquer entre eux par des canaux bien définis.

Vous pouvez en savoir plus sur Docker et l'application ASP.NET Core ici.

Nous allons passer directement à l'utilisation de Docker, mais si vous voulez en savoir plus, vous pouvez consulter une excellente introduction à Docker .NET et Docker ici. et encore plus sur la façon de construire des conteneurs pour l'application .NET Core.

Commençons ensemble à utiliser Docker.

8.2. Installer Docker

Visitez le site web de Docker ici pour installer Docker. Cliquez sur démarrer. Cliquez sur télécharger pour Mac et Windows. Inscrivez-vous gratuitement, puis connectez-vous. Télécharger Docker pour Windows. Commencez à installer Docker. Un redémarrage est nécessaire. Après le redémarrage de votre machine, connectez-vous à Docker. Vous pouvez maintenant exécuter Docker "hello world" en ouvrant la ligne de commande Windows ou le script PowerShell et en écrivant :

Docker run hello-world Voici une liste des lignes de commande les plus importantes pour vous aider :

  • Images Docker => Pour lister toutes les images disponibles sur cette machine
  • Docker ps => pour lister tous les conteneurs en cours d'exécution
  • Docker ps -a => pour lister tous les conteneurs

8.3. Exécuter dans un conteneur Linux


9. Travailler avec des documents PDF existants

9.1. Ouvrir un PDF existant

Comme vous pouvez créer un PDF à partir d'une URL et d'un HTML (texte ou fichier)vous pouvez également travailler avec des documents PDF existants.

L'exemple suivant permet d'ouvrir un PDF normal ou un PDF crypté avec un mot de passe

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-13.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
// Open an unencrypted pdf
PdfDocument unencryptedPdf = PdfDocument.FromFile("testFile.pdf");

// Open an encrypted pdf
PdfDocument encryptedPdf = PdfDocument.FromFile("testFile2.pdf", "MyPassword");
IronPdf.License.LicenseKey = "YourLicenseKey"
' Open an unencrypted pdf
Dim unencryptedPdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")

' Open an encrypted pdf
Dim encryptedPdf As PdfDocument = PdfDocument.FromFile("testFile2.pdf", "MyPassword")
VB   C#

9.2. Fusionner plusieurs PDF

Vous pouvez fusionner plusieurs PDF en un seul comme suit :

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-14.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
List<PdfDocument> PDFs = new List<PdfDocument>();
PDFs.Add(PdfDocument.FromFile("1.pdf"));
PDFs.Add(PdfDocument.FromFile("2.pdf"));
PDFs.Add(PdfDocument.FromFile("3.pdf"));
using PdfDocument PDF = PdfDocument.Merge(PDFs);
PDF.SaveAs("mergedFile.pdf");
foreach (PdfDocument pdf in PDFs)
{
    pdf.Dispose();
}
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim PDFs As New List(Of PdfDocument)()
PDFs.Add(PdfDocument.FromFile("1.pdf"))
PDFs.Add(PdfDocument.FromFile("2.pdf"))
PDFs.Add(PdfDocument.FromFile("3.pdf"))
Using PDF As PdfDocument = PdfDocument.Merge(PDFs)
	PDF.SaveAs("mergedFile.pdf")
'INSTANT VB NOTE: The variable pdf was renamed since Visual Basic will not allow local variables with the same name as parameters or other local variables:
	For Each Me.pdf_Conflict As PdfDocument In PDFs
		Me.pdf_Conflict.Dispose()
	Next pdf_Conflict
End Using
VB   C#

Ajoutez un autre PDF à la fin du PDF actuel comme suit :

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-15.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.AppendPdf(pdf2);
pdf.SaveAs("appendedFile.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("1.pdf")
Dim pdf2 As PdfDocument = PdfDocument.FromFile("2.pdf")
pdf.AppendPdf(pdf2)
pdf.SaveAs("appendedFile.pdf")
VB   C#

Insérer un PDF dans un autre PDF en commençant par l'index donné :

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-16.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("1.pdf");
PdfDocument pdf2 = PdfDocument.FromFile("2.pdf");
pdf.InsertPdf(pdf2, 0);
pdf.SaveAs("InsertIntoSpecificIndex.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("1.pdf")
Dim pdf2 As PdfDocument = PdfDocument.FromFile("2.pdf")
pdf.InsertPdf(pdf2, 0)
pdf.SaveAs("InsertIntoSpecificIndex.pdf")
VB   C#

9.3 Ajouter des en-têtes ou des pieds de page

Vous pouvez ajouter des en-têtes et des pieds de page à un PDF existant ou lorsque vous rendez le PDF à partir de HTML ou d'URL.

Il existe deux classes que vous pouvez utiliser pour ajouter un en-tête ou un pied de page à un PDF :

  • TextHeaderFooter : ajoute un texte simple dans l'en-tête ou le pied de page.
  • HtmlHeaderFooter : ajouter un en-tête ou un pied de page avec un contenu HTML riche et des images.

    Voyons maintenant deux exemples de la manière d'ajouter un en-tête/pied de page à un fichier PDF existant ou lorsqu'il est rendu à l'aide de ces deux classes.

    9.3.1 Ajouter un en-tête au pdf existant

    Voici un exemple de chargement d'un PDF existant, puis d'ajout d'un en-tête et d'un pied de page à l'aide des méthodes AddTextHeaders et AddHtmlFooters.

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-17.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
TextHeaderFooter header = new TextHeaderFooter()
{
    CenterText = "Pdf Header",
    LeftText = "{date} {time}",
    RightText = "{page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10
};
pdf.AddTextHeaders(header);
pdf.SaveAs("withHeader.pdf");

HtmlHeaderFooter Footer = new HtmlHeaderFooter()
{
    HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
    DrawDividerLine = true,
    MaxHeight = 10 //mm
};
pdf.AddHtmlFooters(Footer);
pdf.SaveAs("withHeaderAndFooters.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
Dim header As New TextHeaderFooter() With {
	.CenterText = "Pdf Header",
	.LeftText = "{date} {time}",
	.RightText = "{page} of {total-pages}",
	.DrawDividerLine = True,
	.FontSize = 10
}
pdf.AddTextHeaders(header)
pdf.SaveAs("withHeader.pdf")

Dim Footer As New HtmlHeaderFooter() With {
	.HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
	.DrawDividerLine = True,
	.MaxHeight = 10
}
pdf.AddHtmlFooters(Footer)
pdf.SaveAs("withHeaderAndFooters.pdf")
VB   C#

9.3.2 Ajouter un en-tête et un pied de page aux nouveaux pdf

Voici un exemple de création d'un PDF à partir d'un fichier HTML et d'ajout d'un en-tête et d'un pied de page à l'aide des options de rendu.

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-18.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "Pdf Header",
    LeftText = "{date} {time}",
    RightText = "{page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
    DrawDividerLine = true,
    MaxHeight = 10
};
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("test.html");
pdf.SaveAs("generatedFile.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
	.CenterText = "Pdf Header",
	.LeftText = "{date} {time}",
	.RightText = "{page} of {total-pages}",
	.DrawDividerLine = True,
	.FontSize = 10
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
	.HtmlFragment = "<span style='text-align:right'> page {page} of {totalpages}</span>",
	.DrawDividerLine = True,
	.MaxHeight = 10
}
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("test.html")
pdf.SaveAs("generatedFile.pdf")
VB   C#

10. Ajout d'un mot de passe et d'une sécurité pour les PDF

Vous pouvez sécuriser votre PDF à l'aide d'un mot de passe et modifier les paramètres de sécurité du fichier, par exemple en empêchant la copie et l'impression.

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-19.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");

// Edit file metadata
pdf.MetaData.Author = "john smith";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key"); //secret-key is a owner password
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;

// Change or set the document ecrpytion password
pdf.Password = "123";
pdf.SaveAs("secured.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")

' Edit file metadata
pdf.MetaData.Author = "john smith"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now

' Edit file security settings
' The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key") 'secret-key is a owner password
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights

' Change or set the document ecrpytion password
pdf.Password = "123"
pdf.SaveAs("secured.pdf")
VB   C#

11. Signer numériquement des PDF

Vous pouvez également signer numériquement un PDF de la manière suivante :

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-20.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
pdf.Sign(new PdfSignature("cert123.pfx", "password"));
pdf.SaveAs("signed.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
pdf.Sign(New PdfSignature("cert123.pfx", "password"))
pdf.SaveAs("signed.pdf")
VB   C#

Exemple avancé pour plus de contrôle :

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-21.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");
IronPdf.Signing.PdfSignature signature = new IronPdf.Signing.PdfSignature("cert123.pfx", "123");

// Optional signing options
signature.SigningContact = "support@ironsoftware.com";
signature.SigningLocation = "Chicago, USA";
signature.SigningReason = "To show how to sign a PDF";

// Sign the PDF with the PdfSignature. Multiple signing certificates may be used
pdf.Sign(signature);
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")
Dim signature As New IronPdf.Signing.PdfSignature("cert123.pfx", "123")

' Optional signing options
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"

' Sign the PDF with the PdfSignature. Multiple signing certificates may be used
pdf.Sign(signature)
VB   C#

12. Extraire du texte et des images d'un PDF

Extraire du texte et des images En utilisant IronPDF, vous pouvez extraire du texte et des images d'un PDF comme suit :

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-22.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");

pdf.ExtractAllText(); // Extract all text in the pdf
pdf.ExtractTextFromPage(0); // Read text from specific page

// Extract all images in the pdf
var AllImages = pdf.ExtractAllImages();

// Extract images from specific page
var ImagesOfAPage = pdf.ExtractImagesFromPage(0);
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")

pdf.ExtractAllText() ' Extract all text in the pdf
pdf.ExtractTextFromPage(0) ' Read text from specific page

' Extract all images in the pdf
Dim AllImages = pdf.ExtractAllImages()

' Extract images from specific page
Dim ImagesOfAPage = pdf.ExtractImagesFromPage(0)
VB   C#

12.1. Rastériser le PDF en image

Vous pouvez également convertir des pages PDF en images comme suit

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-23.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
PdfDocument pdf = PdfDocument.FromFile("testFile.pdf");

List<int> pageList = new List<int>() { 1, 2 };

pdf.RasterizeToImageFiles("*.png", pageList);
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim pdf As PdfDocument = PdfDocument.FromFile("testFile.pdf")

Dim pageList As New List(Of Integer)() From {1, 2}

pdf.RasterizeToImageFiles("*.png", pageList)
VB   C#

13. Ajouter un filigrane au PDF

The following is an example of how to watermark PDF pages.

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-24.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply watermark
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs("Watermarked.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

' Apply watermark
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("Watermarked.pdf")
VB   C#

Le filigrane dispose d'un ensemble restreint d'options et de fonctionnalités. Pour un meilleur contrôle, vous pouvez utiliser la classe HTMLStamper.

:path=/static-assets/pdf/content-code-examples/tutorials/dotnet-core-pdf-generating-25.cs
IronPdf.License.LicenseKey = "YourLicenseKey";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<div>test text </div>");

// Configure HTML stamper
HtmlStamper backgroundStamp = new HtmlStamper()
{
    Html = "<h2 style='color:red'>copyright 2018 ironpdf.com",
    MaxWidth = new Length(20),
    MaxHeight = new Length(20),
    Opacity = 50,
    Rotation = -45,
    IsStampBehindContent = true,
    VerticalAlignment = VerticalAlignment.Middle
};

pdf.ApplyStamp(backgroundStamp);
pdf.SaveAs("stamped.pdf");
IronPdf.License.LicenseKey = "YourLicenseKey"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<div>test text </div>")

' Configure HTML stamper
Dim backgroundStamp As New HtmlStamper() With {
	.Html = "<h2 style='color:red'>copyright 2018 ironpdf.com",
	.MaxWidth = New Length(20),
	.MaxHeight = New Length(20),
	.Opacity = 50,
	.Rotation = -45,
	.IsStampBehindContent = True,
	.VerticalAlignment = VerticalAlignment.Middle
}

pdf.ApplyStamp(backgroundStamp)
pdf.SaveAs("stamped.pdf")
VB   C#

Tutoriel Accès rapide

Obtenir le code source

Accédez à l'ensemble du code source de ce tutoriel sous la forme d'un fichier ZIP de projet Visual Studio, facile à utiliser et à partager dans le cadre de votre projet.

Obtenir le code

Accès au tutoriel GitHub

Explorez ce tutoriel et bien d'autres encore via GitHub. L'utilisation des projets et du code source est le meilleur moyen d'apprendre et de l'appliquer à vos propres besoins et cas d'utilisation .NET Core.

Générer des PDF dans .NET Core Tutorial

Conserver l'aide-mémoire CSharp au format PDF

Développez des PDF dans vos applications .NET à l'aide de notre document de référence pratique. Offrant un accès rapide aux fonctions communes et aux exemples de génération et d'édition de PDF en C# et VB.NET, cet outil partageable vous permet d'économiser du temps et des efforts lors de la prise en main d'IronPDF et des exigences courantes en matière de PDF dans le cadre de votre projet.

Conserver l'antisèche

Plus de documentation

Lisez la référence API d'IronPDF, qui présente en détail toutes les fonctionnalités d'IronPDF, ainsi que les espaces de noms, les classes, les méthodes, les champs et les énums.

Documentation de référence de l'API