UTILISATION D'IRONPDF

Comment afficher des fichiers PDF en ASP.NET à l'aide de C# ; et IronPDF

Chaknith Bin
Chaknith Bin
novembre 4, 2021
Mise à jour janvier 20, 2024
Partager:

La plupart des gens ouvrent des PDF sur un ordinateur à l'aide d'une application de bureau dédiée, mais les ingénieurs logiciels peuvent également utiliser IronPDF pour créer, afficher, ouvrir, lire et modifier du contenu PDF avec C# de manière programmatique.

IronPDF s'est avéré être un plugin très utile pour la lecture de fichiers PDF en ASP.NET et C#.

Vous pouvez télécharger le projet de démonstration ASP.NET PDF.

Il est possible de créer des documents PDF rapidement et facilement en utilisant C# avec IronPDF.

Une grande partie de la conception et de la mise en page des documents PDF peut être réalisée en utilisant les ressources HTML existantes ou en déléguant cette tâche à des employés spécialisés dans la conception de sites web ; il prend en charge la tâche fastidieuse d'intégration de la génération de PDF dans votre application et automatise la conversion des documents préparés en PDF. Avec .NET, vous pouvez :

  • Convertissez des formulaires web, des pages HTML locales et d'autres sites web au format PDF.
  • Permettre aux utilisateurs de télécharger des documents, de les partager avec d'autres personnes par courrier électronique ou de les enregistrer dans le nuage.
  • Facturer les clients et fournir des devis ; préparer des rapports ; négocier des contrats et d'autres documents.
  • Travailler avec ASP.NET, ASP.NET Core, Web Forms, MVC, Web APIs sur .NET Framework et .NET Core, et d'autres langages de programmation.

Configuration de la bibliothèque IronPDF

Il y a deux façons d'installer la bibliothèque ;

Installation avec le gestionnaire de paquets NuGet

IronPDF peut être installé via le complément Visual Studio ou le gestionnaire de paquets NuGet à partir de la ligne de commande. Naviguez vers la console, tapez le code suivant dans Visual Studio :

Install-Package IronPdf

Télécharger le fichier DLL directement à partir du site web

Vous pouvez également obtenir la DLL directement sur le site web.

N'oubliez pas d'inclure la remarque suivante en haut de tout fichier de classe cs qui utilise IronPDF :

Consultez Aperçu détaillé des fonctionnalités de IronPDF.

IronPDF est un plugin indispensable. Obtenez le vôtre dès maintenant et essayez-le avec le package NuGet d'IronPDF.

Créer un fichier PDF à partir d'une chaîne HTML dans .NET C&num ;

La création d'un fichier PDF à partir d'une chaîne HTML en C# est une méthode efficace et gratifiante.

La fonction RenderHtmlAsPdf d'un ChromePdfRenderer offre un moyen facile de convertir toute chaîne HTML (HTML5) en document PDF, grâce à la version intégrée du moteur Google Chromium dans la DLL IronPDF.

//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);

RenderHtmlAsPdf est un outil puissant qui prend en charge entièrement le CSS, JavaScript et les images. Il peut être nécessaire de définir le deuxième argument de RenderHtmlAsPdf si ces matériaux sont stockés sur un disque dur.

Le code suivant génère un fichier PDF :

var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");

Toutes les feuilles de style CSS, les images et les fichiers JavaScript référencés seront relatifs au BaseUrlPath, permettant de maintenir une structure plus organisée et logique. Vous pouvez, bien entendu, utiliser des images, des feuilles de style et des ressources disponibles sur l'internet, telles que Web Fonts, Google Fonts et même jQuery, si vous le souhaitez.

Créer un document PDF.

Utilisation d'une URL HTML existante

Les URL existants peuvent être transformés en PDF avec C# d'une manière très efficace et directe ; cela permet également aux équipes de répartir le travail de conception des PDF et le travail de rendu des PDF en arrière-plan entre plusieurs sections, ce qui est avantageux.

Le code ci-dessous montre comment afficher la page endeavorcreative.com à partir de son URL :

//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);

En conséquence, tous les hyperliens (liens HTML) et même les formulaires HTML sont conservés dans le PDF généré.

Créer un document PDF à partir d'un document HTML existant

Cette section montre comment rendre n'importe quel fichier HTML local. Il apparaîtra que le fichier a été ouvert à l'aide du protocole file:/ pour tous les éléments relatifs tels que CSS, images et JavaScript, entre autres.

//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);

L'avantage de cette stratégie est qu'elle permet aux développeurs de tester le contenu HTML dans un navigateur pendant qu'ils le créent. Le moteur de rendu d'IronPDF est basé sur le navigateur web Chrome. Par conséquent, il est recommandé d'utiliser la conversion XML en PDF, car l'impression de contenu XML en PDF peut être effectuée à l'aide de modèles XSLT.

Conversion des formulaires Web ASP.NET en fichier PDF

Avec une seule ligne de code, vous pouvez convertir les formulaires en ligne ASP.NET au format PDF plutôt qu'au format HTML. Placez la ligne de code dans la méthode Page_Load du fichier code-behind de la page pour la faire apparaître sur la page.

Les applications ASP.NET Web Forms peuvent être créées à partir de zéro ou ouvertes à partir d'une version précédente.

Installer le paquet NuGet s'il n'est pas déjà installé.

Le mot-clé using doit être utilisé pour importer l'espace de noms IronPdf.

Accédez au code qui se trouve derrière la page que vous souhaitez convertir en PDF. Par exemple, le fichier Default.aspx.cs utilisant ASP.NET

RenderThisPageAsPdf est une méthode de la classe AspxToPdf.

using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}

Cela nécessite l'installation du package NuGet IronPdf.Extensions.ASPX. Il n'est pas disponible dans .NET Core car ASPX est supplanté par le modèle MVC.

Appliquer le modèle HTML

Pour les développeurs d'intranets et de sites web, la possibilité de créer des modèles ou de produire des PDF par lots est une nécessité.

Plutôt que de créer un modèle de document PDF, la bibliothèque IronPDF permet de générer un modèle HTML en tirant parti d'une technologie existante et éprouvée.

Un fichier PDF généré dynamiquement est créé lorsque le modèle HTML est complété par des données provenant d'une chaîne de requête ou d'une base de données, comme indiqué ci-dessous.

Prenons l'exemple de la classe C# String et de ses propriétés. La méthode du format fonctionne bien pour les opérations de base de "fusion de courrier".

String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World");

Parce que les fichiers HTML peuvent être assez étendus, il est courant d'utiliser des espaces réservés arbitraires tels que [[NAME]] et de les remplacer ensuite par des données précises.

L'exemple suivant génère trois documents PDF, chacun d'entre eux étant personnalisé pour un utilisateur différent.

var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}

ASP.NET MVC Routing Télécharger la version PDF de cette page

Avec le Framework .NET MVC, vous pouvez diriger l'utilisateur vers un fichier PDF.

Lors de la création d'une nouvelle application ASP.NET MVC ou de l'ajout d'un contrôleur MVC à une application existante, sélectionnez cette option. Démarrez l'assistant de nouveau projet de Visual Studio en sélectionnant Application Web ASP.NET (.NET Framework) > MVC dans le menu déroulant. Vous pouvez également ouvrir un projet MVC existant. Remplacez la méthode Index dans le fichier HomeController du dossier Controllers ou créez un nouveau contrôleur dans le dossier Controllers.

Voici un exemple de la manière dont le code doit être écrit :

using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

Ajouter une page de couverture à un document PDF

Comment afficher des fichiers PDF dans ASP.NET en utilisant C# et IronPDF, Figure 1 : Ajouter une page de couverture à un document PDF Ajouter une page de couverture à un document PDF

IronPDF simplifie le processus de fusion de documents PDF. L'application la plus courante de cette technique consiste à ajouter une page de couverture ou de garde à un document PDF déjà rendu.

Pour accomplir cela, préparez une page de couverture, puis utilisez les capacités de PdfDocument.

Pour combiner les deux documents, utilisez la Méthode de fusion de documents PDF.

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");

Ajouter un filigrane à votre document

Enfin, l'ajout d'un filigrane aux documents PDF peut être réalisé à l'aide du code C# ; permet d'ajouter à chaque page d'un document une clause de non-responsabilité indiquant qu'il s'agit d'un document "confidentiel" ou d'un "échantillon"

// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");

Votre fichier PDF peut être protégé par un mot de passe

Lorsque vous définissez la propriété de mot de passe d'un document PDF, celui-ci est crypté et l'utilisateur doit fournir le mot de passe correct pour lire le document. Cet exemple peut être utilisé dans une application console .NET Core.

using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}
using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}

Sans les avantages mentionnés ci-dessus, avec l'IronPDF, vous pouvez également :

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.
< PRÉCÉDENT
Générer des fichiers PDF en C#
SUIVANT >
5 étapes pour générer un fichier PDF en C# ; en utilisant IRON PDF