Extension du rasoir IronPDF

Chaknith Bin
Chaknith Bin
janvier 25, 2023
Mise à jour octobre 20, 2024
Partager:
This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF est une bibliothèque PDF pour .NET et .NET Core. Il s'agit principalement d'une bibliothèque PDF gratuite, IronPdf étant une bibliothèque PDF C# commerciale. Il est gratuit pour le développement mais doit faire l'objet d'une licence pour un déploiement commercial. Ce modèle de licence plus clair n'oblige pas les développeurs à apprendre les tenants et les aboutissants des modèles de licence GNU / AGPL et leur permet de se concentrer sur leurs projets.

IronPDF permet aux développeurs .NET et .NET Core de générer, fusionner, fractionner, modifier et extraire facilement du contenu PDF en C#, F# et VB.NET pour .NET Core et .NET Framework, ainsi que de créer des PDF à partir de fichiers HTML, ASPX, CSS, JS et d'images.

IronPDF dispose d'une fonctionnalité complète d'édition et de génération de PDF via HTML to PDF. Comment cela fonctionne-t-il ? La majeure partie de la conception et de la mise en page des documents peut utiliser les ressources HTML et HTML5 existantes.

Vous pouvez télécharger le projet d'exemple C# Razor-vers-PDF depuis le téléchargement IronPDF Razor View to PDF.

Fonctionnalités d'IronPDF pour les applications .NET et .NET Core

Parmi les fonctionnalités fantastiques de la bibliothèque PDF d'IronPDF, citons :

  • La bibliothèque PDF .NET peut générer des PDF à partir de HTML, d'images et de fichiers ASPX.
  • Lire un texte PDF dans les applications .NET et .NET Core
  • Extraction de données et d'images à partir de PDF
  • Fusionner des documents PDF
  • Fractionnement des PDF
  • Manipulation des PDF

Avantages d'IronPDF

  • La bibliothèque PDF d'IronPDF est facile à installer
  • La bibliothèque IronPDF for .NET offre des options de licence simples et rapides
  • IronPDF surpasse la plupart des bibliothèques PDF .NET et surpasse la plupart des bibliothèques PDF .NET Core

IronPDF est la solution PDF que vous recherchiez.


Installation de la bibliothèque IronPDF PDF

L'installation de la bibliothèque IronPDF pour PDF dans .NET ou .NET Core est assez simple. Vous pouvez l'installer de la manière suivante :

Utilisez le gestionnaire de paquets NuGet et tapez ce qui suit dans l'invite de commande :

Install-Package IronPdf

Utiliser le gestionnaire de paquets NuGet dans Visual Studio en ouvrant la section "Selecting Manage NuGet Packages" dans le menu du projet et en recherchant IronPDF, comme indiqué ci-dessous :

**Figure 1** - *Package NuGet IronPDF* Cela permet d'installer l'extension PDF. Avec IronPDF, vous pouvez utiliser ASP.NET MVC pour renvoyer un fichier PDF. Voici quelques exemples de code : Voici un exemple de méthode qui pourrait être utilisée par votre contrôleur. ```cs public FileResult Generate_PDF_FromHTML_Or_MVC(long id) { using var objPDF = Renderer.RenderHtmlAsPdf(""); //Create a PDF Document var objLength = objPDF.BinaryData.Length; //return a PDF document from a view Response.AppendHeader("Content-Length", objLength.ToString()); Response.AppendHeader("Content-Disposition", "inline; filename=PDFDocument_" + id + ".pdf"); return File(objPDF.BinaryData, "application/pdf;"); } ``` Voici un exemple d'utilisation d'un PDF existant en ASP.NET. ```cs Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\""); Response.BinaryWrite(System.IO.File.ReadAllBytes("PdfName.pdf")); Response.Flush(); Response.End(); ```
Prenons un exemple rapide en ASP.NET en utilisant MVC et .NET Core. Ouvrez Visual Studio et créez une nouvelle application web ASP.NET Core. ## 1. Créez un nouveau projet web ASP.NET Core dans Visual Studio [//]: # 'wrapper d'image pour agrandir la marge - formatage' Créer un projet ASP.NET Core
## 2. Créer un modèle MVC - Créez un nouveau dossier et nommez-le "Models" [//]: # 'wrapper d'image pour agrandir la marge - formatage'
Ajouter un dossier
- Cliquez avec le bouton droit de la souris sur le dossier Model et ajoutez une nouvelle classe [//]: # 'wrapper d'image pour agrandir la marge - formatage'
Ajouter la classe
- Changez le nom de la classe en "ExampleModel". Ajouter du contenu au modèle, par exemple : ```cs namespace WebApplication4.Models { public class ExampleModel { public string Name { get; set; } public string Surname { get; set; } public int Age { get; set; } } } ```
## 3. Ajouter un contrôleur MVC - Créez un nouveau dossier et nommez-le "Controllers" - Cliquez avec le bouton droit de la souris sur le dossier Controllers et ajoutez un nouveau "contrôleur MCV - vide" [//]: # 'wrapper d'image pour agrandir la marge - formatage'
Ajouter une classe de contrôleur
Ajouter du contenu au contrôleur : ```cs namespace WebApplication4.Models { public class HomeController : Controller { [HttpPost] public IActionResult ExampleView(ExampleModel model) { var html = this.RenderViewAsync("_Example", model); var ironPdfRender = new IronPdf.ChromePdfRenderer(); using var pdfDoc = ironPdfRender.RenderHtmlAsPdf(html.Result); return File(pdfDoc.Stream.ToArray(), "application/pdf"); } } } ```
## 4. Modifier Index.cshtml Dans le dossier Pages, modifiez le fichier Index.cshtml comme suit : ```html @page @model WebApplication4.Models.ExampleModel @{ ViewBag.Title = "Example Index View"; }

Index

@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Surname, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Surname, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Surname, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.Age, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Age, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Age, "", new { @class = "text-danger" })
}
```
## 5. Ajouter une page Razor Dans le dossier Shared de Pages, ajoutez une page Razor et nommez-la "_Example.cshtml" [//]: # 'wrapper d'image pour agrandir la marge - formatage'
Ajouter une page Razor
Ajoutez le code ci-dessous à _Example.cshtml : ```html @Html.Partial("../Index.cshtml") ```
## 6. Ajouter une nouvelle classe - Ajouter un nouveau nom de classe "ControllerPDF" Cette classe prendra le HTML de _Example.cshtml avec le wrap de _Layout.cshtml et le renverra à HomeController.cs - Ajoutez le code ci-dessous : ```cs namespace WebApplication4 { public static class ControllerPDF { public static async Task RenderViewAsync(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(); } } } } ```
## 7. Modifier Program.cs Ajoutez le code ci-dessous pour vous assurer qu'une fois que vous aurez appuyé sur le bouton "Enregistrer", la page naviguera vers l'URL correcte. ```cs app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); ```
## 8. Démonstration - Dans le fichier Index.cshtml, la méthode ExampleView sera activée lorsque l'on appuiera sur le bouton de sauvegarde avec asp-action="ExampleView". - La méthode RenderViewAsync de la classe ControllerPDF sera appelée à partir de ExampleView. Cette méthode renvoie le code HTML généré de _Example.cshtml avec _layout.cshtml. - Générer un document PDF en passant le HTML de retour de RenderViewAsync à la méthode RenderHtmlAsPdf d'IronPDF. [//]: # 'wrapper d'image pour agrandir la marge - formatage' Créer un projet ASP.NET Core
Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.