Pages ASPX en PDF dans ASP.NET
Ce tutoriel ASPX en PDF vous guidera pas à pas sur la façon de convertir ASPX en PDF : enregistrer une page ASPX en tant que PDF dans les applications web ASP.NET.
Les utilisateurs ne devraient jamais avoir à ouvrir le fichier ASPX avec l'extension .aspx dans Google Chrome. Nous demandons à notre équipe d'ingénieurs de convertir ASPX en PDF automatiquement en utilisant du code .NET ! Nous n'avons jamais besoin d'appuyer sur CTRL P ! Il existe un moyen basé sur un serveur pour convertir les médias internet ASPX et les enregistrer en PDF.
Appliquer des paramètres, notamment définir le comportement et les noms des fichiers, ajouter des en-têtes et des pieds de page, modifier les options d'impression, ajouter des sauts de page, combiner Async et Multithreading et bien plus encore.
Vue d'ensemble
Converting ASPX files to PDF in simple steps
- Télécharger la bibliothèque C# ASPX en PDF
- Choisissez vos pages ASPX
- Convertir un fichier ASPX en PDF
- Appliquer les paramètres du convertisseur ASPX en PDF et ajouter des en-têtes et des pieds de page
- Créer des sauts de page dans un fichier PDF
Comment convertir des fichiers ASPX en PDF
Les applications Microsoft Web Form pour ASP.NET sont couramment utilisées dans le développement de sites web sophistiqués, de banques en ligne, d'intranets et de systèmes de comptabilité. Une fonctionnalité courante des sites web ASP.NET (ASPX) est de générer des fichiers PDF dynamiques tels que des factures, des billets ou des rapports de gestion que les utilisateurs peuvent télécharger au format PDF.
Ce didacticiel montre comment utiliser le composant logiciel IronPDF pour .NET afin de transformer n'importe quel formulaire web ASP.NET en PDF (ASP.NET en PDF). Le HTML, normalement rendu sous forme de page web, sera utilisé pour rendre le PDF téléchargeable ou consultable dans un navigateur web. Le projet source ci-joint vous montrera comment convertir une page web en PDF en ASP.NET à l'aide de C#.
Nous réalisons cette conversion de HTML en PDF (convertir ASPX en PDF) lors du rendu des pages web en utilisant IronPDF et sa classe d'outils AspxToPdf.
Étape 1
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
1. Installer le convertisseur de fichiers ASPX gratuit d'IronPDF
Installation via NuGet
Dans Visual Studio, faites un clic droit sur l'explorateur de solutions de votre projet et sélectionnez "Manage NuGet Packages...". De là, il suffit de rechercher IronPDF et d'installer la dernière version... cliquez sur ok pour toutes les boîtes de dialogue qui s'affichent.
Cela fonctionnera dans n'importe quel projet C# .NET Framework à partir de Framework 4 et plus, ou .NET Core 2 et plus. Il fonctionnera tout aussi bien dans les projets VB.NET.
Install-Package IronPdf
https://www.nuget.org/packages/IronPdf
Installation via DLL
Alternativement, le DLL de IronPDF peut être téléchargé et installé manuellement dans le projet ou le GAC depuis https://ironpdf.com/packages/IronPdf.zip
N'oubliez pas d'ajouter cette déclaration en haut de tout fichier de classe cs utilisant IronPDF : ``
en utilisant IronPDF ; ``
Tutoriels
2. Convertir des pages Web ASP.NET en PDF
Nous commençons par un "formulaire Web" ASPX normal, qui s'affiche en HTML. Nous convertissons ensuite la page ASPX en format de fichier PDF.
Dans l'exemple de code source ci-joint, nous avons rendu une facture commerciale "Invoice.aspx", une simple facture commerciale HTML rendue sous forme de page ASP.NET.
La page HTML contient des feuilles de style CSS3 et peut également inclure des images et du javascript.
Pour rendre cette page Web ASP.NET en PDF au lieu de HTML, nous devons ouvrir le code C# (ou VB.NET) et ajouter ceci à l'événement Page_Load :
:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-1.cs
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
C'est tout ce qu'il faut ; le HTML s'affiche désormais comme un PDF. Les liens hypertextes, les feuilles de style, les images et même les formulaires HTML sont préservés. Ce résultat est très similaire à celui qui serait obtenu si l'utilisateur imprimait lui-même le code HTML au format PDF dans son navigateur. IronPDF s'appuie sur la technologie de navigateur web Chromium qui équipe Google Chrome.
L'ensemble du code C# se lit comme suit dans son intégralité : Convertir la page ASPX en PDF dans Active Server Pages.
:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-2.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports IronPdf
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
End Sub
End Class
End Namespace
3. Appliquer les paramètres du convertisseur de fichiers ASPX en PDF
Il existe de nombreuses options à ajuster et à perfectionner lorsque nous convertissons un fichier ASPX en PDF généré à l'aide de .NET Web Forms.
Ces options sont documentées en détail en ligne sur https://ironpdf.com/object-reference/api/IronPdf.AspxToPdf.html
3.1. Définir le comportement du fichier PDF
Le comportement de fichier InBrowser tente d'afficher le PDF directement dans le navigateur de l'utilisateur. Cela n'est pas toujours possible dans tous les navigateurs web, mais c'est généralement une caractéristique commune des navigateurs modernes conformes aux normes. ``
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser); ``
Le comportement du fichier Attachment entraîne le téléchargement du PDF. ``
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment); ``
3.2. Définir le nom du fichier PDF
Nous pouvons également définir le nom de fichier du document PDF en ajoutant un paramètre supplémentaire. Cela signifie que nous pouvons contrôler le nom du fichier lorsque l'utilisateur décide de le télécharger ou de le conserver. Lorsque nous enregistrons la page ASPX au format PDF, ce nom sera donné au document PDF. ``
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf"); ``
3.3. Modifier les options d'impression du PDF
Nous pouvons contrôler la sortie du PDF en ajoutant une instance de la classe IronPDF.ChromePdfRenderer :
https://ironpdf.com/object-reference/api/IronPdf.ChromePdfRenderer.html
:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-3.cs
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
EnableJavaScript = false,
//.. many more options available
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {.EnableJavaScript = False}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
Les options de rendu PDF disponibles sont les suivantes :
- ApplyMarginToHeaderAndFooter. Appliquer l'option de marge aux en-têtes et pieds de page HTML. la valeur par défaut est false, ce qui fait que les en-têtes et pieds de page HTML ont une marge de 0. Ne prend en charge que ChromeRender.
- CréerDesFormulairesPdfDepuisHtml. Transforme les éléments de formulaire ASPX en formulaires PDF éditables.
- CssMediaType. Active Media="screen" ou "print" pour les styles CSS et les feuilles de style CSS3.
- CustomCssUrl. Permet d'appliquer une feuille de style CSS personnalisée à l'HTML par URL.
- EnableJavaScript. Permet l'utilisation de JavaScript, de jQuery et même de code Json dans la page ASPX. Il peut être nécessaire d'appliquer un délai de rendu.
- FirstPageNumber. Premier numéro de page pour en-tête et pied de page. La valeur par défaut est 1.
- FitToPaperWidth. Dans la mesure du possible, le contenu du PDF est réduit à la largeur d'une page de papier virtuel.
- GenerateUniqueDocumentIdentifiers. Définir à false si vous souhaitez utiliser l'égalité des fichiers binaires pour comparer les PDF, par exemple pour les tests unitaires.
- Niveaux de gris. Produit un PDF en niveaux de gris en nuances de gris au lieu d'une couleur complète.
- HtmlHeader. Définit le contenu de l'en-tête de chaque page PDF à l'aide de chaînes de contenu ou même de HTML.
- En-tête de texte. Dé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 urls en hyperliens.
- HtmlFooter. Définit le contenu du pied de page pour chaque page PDF en utilisant des chaînes de contenu ou même du HTML.
- TextFooter. Définit le contenu de l'en-tête de chaque page PDF en tant que texte. Prend en charge le "mail-merge" et transforme automatiquement les urls en hyperliens.
- InputEncoding. Le codage des caractères d'entrée sous forme de chaîne. UTF-8 est la valeur par défaut pour ASP.NET.
- MargeInférieure. Marge inférieure du papier PDF en millimètres. Régler à zéro pour un pdf sans bordure.
- MargeGauche. PDF gauche Marge du papier en millimètres. Régler à zéro pour un pdf sans bordure.
- MarginRight. Marge droite du papier PDF en millimètres. Régler à zéro pour un pdf sans bordure.
- MargeSupérieure. Haut PDF Marge du papier en millimètres. Régler à zéro pour un pdf sans bordure.
- PaperOrientation. L'orientation du papier PDF. Paysage ou Portrait.
- PaperSize. Définir un format de papier de sortie pour les pages PDF en utilisant System.Drawing.Printing.PaperKind. Alternativement, les développeurs peuvent utiliser la méthode SetCustomPaperSize(int width, int height) pour créer des formats personnalisés.
- PrintHtmlBackgrounds. Imprime les images d'arrière-plan HTML.
- RenderDelay. Millisecondes à attendre après le rendu du HTML avant l'impression pour que le Javacsript ou le JSON aient le temps de travailler.
- Délai d'attente. Délai de rendu en secondes.
- Titre. Méta-données "Titre" du document PDF.
- ViewPortHeight. Définit une hauteur d'écran virtuelle utilisée pour le rendu de HTML en PDF dans IronPDF. Mesuré en pixels.
- ViewPortWidth. Définit une largeur d'écran virtuelle utilisée pour le rendu de HTML en PDF dans IronPDF. Mesuré en pixels.
- Zoom. Un niveau d'échelle en % permettant au développeur d'agrandir ou de réduire le contenu html.
4. Ajouter des en-têtes et des pieds de page aux PDF ASPX
IronPDF permet d'ajouter des en-têtes et des pieds de page à la sortie du PDF.
La façon la plus simple de le faire est d'utiliser la classe SimpleHeaderFooter, qui prend en charge une mise en page basique pouvant facilement ajouter des données dynamiques telles que l'heure actuelle et la numérotation des pages.
4.1. Exemple d'en-tête et de pied de page ASPX vers PDF
:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-4.cs
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
TextHeader = new IronPdf.TextHeaderFooter()
{
CenterText = "Invoice",
DrawDividerLine = false,
Font = FontTypes.Arial,
FontSize = 12
},
TextFooter = new IronPdf.TextHeaderFooter()
{
LeftText = "{date} - {time}",
RightText = "Page {page} of {total-pages}",
Font = IronSoftware.Drawing.FontTypes.Arial,
FontSize = 12,
},
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
}
}
}
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
.TextHeader = New IronPdf.TextHeaderFooter() With {
.CenterText = "Invoice",
.DrawDividerLine = False,
.Font = FontTypes.Arial,
.FontSize = 12
},
.TextFooter = New IronPdf.TextHeaderFooter() With {
.LeftText = "{date} - {time}",
.RightText = "Page {page} of {total-pages}",
.Font = IronSoftware.Drawing.FontTypes.Arial,
.FontSize = 12
}
}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
End Sub
End Class
End Namespace
Nous pouvons également générer des en-têtes et des pieds de page HTML à l'aide de la classe HtmlHeaderFooter, qui prend également en charge les feuilles de style CSS, les images et les liens hypertextes.
:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-5.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
MarginTop = 50, // make sufficiant space for an HTML header
HtmlHeader = new IronPdf.HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
}
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
.MarginTop = 50,
.HtmlHeader = New IronPdf.HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions)
End Sub
End Class
End Namespace
Comme nous l'avons vu dans nos exemples, nous pouvons "fusionner" du texte dynamique ou du code HTML dans les en-têtes et les pieds de page à l'aide de caractères génériques :
-
{page} pour le numéro de page actuel du PDF
-
{total-pages} comme le nombre total de pages dans le PDF
-
{date} pour la date du jour dans un format approprié à l'environnement système du serveur
-
{time} pour l'heure en heures:secondes en utilisant une horloge 24 heures
-
{html-title} insère le titre depuis la balise head du formulaire web ASPX
- {pdf-title} pour le nom du fichier de document
5. Appliquer les astuces du fichier ASPX au PDF : Sauts de page
Alors que le HTML se présente généralement sous la forme d'une longue page, les PDF simulent le papier numérique et sont divisés en pages cohérentes. L'ajout du code suivant à votre page ASPX créera automatiquement un saut de page dans le PDF généré par .NET.
:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-6.cs
<div style='page-break-after: always;'> </div>
6. Combiner Async et Multithreading pour plus de performance
IronPDF a été conçu pour .NET Framework 4.0, ou .NET Core 2 ou supérieur. Dans les projets Framework 4.5 ou supérieurs, ASYNC peut être utilisé pour améliorer les performances lors du travail avec plusieurs documents.
La combinaison d'Async avec des processeurs multithreads et la commande Paralllel.ForEach améliorera considérablement le traitement des formats PDF en vrac.
7. Télécharger le code source ASP.NET
Le code source complet du convertisseur de fichier ASPX en PDF pour ce tutoriel est disponible en téléchargement sous forme de projet d'application Web Visual Studio zippé.
Téléchargez ce tutoriel en tant que projet ASP.NET Visual Studio
Le téléchargement gratuit contient des exemples de code de travail pour un projet ASP.NET Web Forms en C# montrant une page web rendue sous forme de PDF avec des paramètres appliqués. Nous espérons que ce tutoriel vous a aidé à apprendre comment enregistrer un fichier ASPX au format PDF.
Aller de l'avant
En règle générale, la meilleure façon d'apprendre une technique de programmation est de l'expérimenter dans le cadre de vos propres projets ASP.NET. Il s'agit notamment d'essayer le convertisseur ASPX en PDF d'IronPDF.
Les développeurs peuvent également être intéressés par la référence de la classe IronPDF.AspxToPdf :
https://ironpdf.com/object-reference/api/IronPdf.AspxToPdf.html
8. Regarder la vidéo du tutoriel ASPX vers PDF
Tutoriel Accès rapide
Télécharger ce tutoriel sous forme de code source
The full ASPX File to PDF Converter Source Code for this tutorial is available as a zipped Visual Studio Web Application project. Le téléchargement gratuit contient des exemples de code fonctionnels pour un projet C# ASP.NET Web Forms, montrant une page web rendue en PDF avec des paramètres appliqués. Télécharger
Explorer ce tutoriel sur GitHub
Le code de ce projet C# ASPX-To-PDF est disponible en C# et VB.NET sur GitHub en tant que projet de site web ASP.NET. N'hésitez pas à nous forker sur GitHub pour plus d'aide avec l'utilisation de IronPDF. N'hésitez pas à partager cela avec quiconque pourrait demander, 'Comment convertir ASPX en PDF ?'
Projet de site web C# ASPX vers PDF Échantillons avancés de pages ASP.NET en PDF en C# pour créer des PDF Exemples PDF ASP.NET en VB.NET pour créer des PDFsTélécharger le guide de démarrage rapide C# PDF
Pour faciliter le développement de PDF dans vos applications .NET, nous avons compilé un guide de démarrage rapide sous forme de document PDF. Ce "Cheat-Sheet" fournit un accès rapide aux fonctions et exemples courants pour générer et éditer des PDF en C# et VB.NET, et vous permettra de gagner du temps lors de l'utilisation d'IronPDF dans votre projet .NET.
TéléchargerVoir la référence de l'API
Explorez la référence API d'IronPDF, qui décrit en détail toutes les fonctionnalités, les espaces de noms, les classes, les méthodes, les champs et les énums d'IronPDF.
Voir la référence de l'API