PdfLibrary est un moyen extrêmement simple de convertir une réponse HTML directement en un document PDF et d’imprimer le document PDF dans un ASP.NET  MVC.



Dans cet article, nous allons montrer comment utiliser la bibliothèque PdfLibrary pour générer facilement des documents PDF tout en travaillant sur le projet Web .NET MVC.

PdfLibrary est basé sur l'outil wkhtmltopdf pour créer un fichier PDF à partir d'un contenu HTML affiché dans un navigateur. Il utilise le moteur de kit Web utilisé par Chrome pour afficher le code HTML. Et prendre en charge la plupart des balises et des styles HTML.


Créons maintenant un exemple pour comment créer facilement un document PDF dans ASP.NET.NET MVC

Configurer cette bibliothèque sur votre projet

étape 1 :
Commençons dès le début en créant un nouveau projet  ASP.NET MVC appelé MVC_PDFGenerator:


étape 2 :
Commençons par installer la bibliothèque PdfLibrary:


Install-Package PdfLibrary 

Ou recherchez PdfLibrary dans la fenêtre du package Nuget:


étape 3 :
Nous avons tout en place et nous sommes prêts à procéder.

comment ça marche?

Affichage d'un document PDF dans un navigateur
étape 1 :
Ajouter un nouveau contrôleur pour le rapport PDF

Après avoir ajouté le contrôleur, nous allons maintenant ajouter une action à ce contrôleur.
étape 2 :
Ajout de la  [HttpGet] ActionResult
namespace MVC_PDFGenerator.Controllers
{
    public class RapportPDFController : Controller
    {
        // GET: RapportPDF
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult DemoAsPDF()
        {
            return View();
        }
    }
}
Après , nous allons ensuite ajouter la vue «DemoAsPDF».Sur cette vue, nous avons ajouté une facture simple.
étape 3 :
La solution est mise en œuvre avec quatre classes de PdfLibrary dans RapportPDFController.cs pour générer un fichier PDF/Image.

ViewAsPdf - Cette classe générera le PDF en fonction des vues.
        public ActionResult DownloadViewPDF()
        {
            return new PdfLibrary.ViewAsPdf("DemoAsPDF");
        }




ActionAsPdf - utilisera une autre méthode d'action pour générer un fichier PDF à l'aide de la vue
  public ActionResult DownloadActionAsPDF()
        {
            return new PdfLibrary.ActionAsPdf("DemoAsPDF") { FileName = "TestViewAsPdf.pdf" };
        }


ViewAsImage - Cette classe générera le Image en fonction des vues.
     public ActionResult DownloadViewImage()
        {
            return new PdfLibrary.ViewAsImage("DemoAsPDF");
        }



ActionAsImage - utilisera une autre méthode d'action pour générer un fichier Image à l'aide de la vue
       public ActionResult DownloadActionAsImage()
        {
            return new PdfLibrary.ActionAsImage("DemoAsPDF") { FileName = "TestViewAsImage.png" };
        }




vous pouvez télécharger le code source dans Github


J'espère que vous aimez.