Conversion de pages ASPX en PDF en ASP.NET
Ce tutoriel ASPX en PDF vous guidera pas à pas sur la façon de convertir ASPX en PDF. Enregistrer une page ASPX au format 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 automatiquement ASPX en PDF à l'aide du code .NET! Il n'est jamais nécessaire d'appuyer sur CTRL P! Il existe une méthode basée sur le serveur pour convertir les médias Internet ASPX et les enregistrer au format PDF.
Les paramètres à appliquer comprennent la définition du comportement et des noms de fichiers, l'ajout d'en-têtes et de pieds de page, la modification des options d'impression, l'ajout de sauts de page, la combinaison d'Async et de Multithreading, et bien plus encore.
Convertir des fichiers ASPX en PDF en quelques étapes simples
- Télécharger la bibliothèque ASPX to PDF C#
- 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 caractéristique commune à ASP.NET(ASPX) est de générer des fichiers PDF dynamiques tels que des factures, des tickets ou des rapports de gestion que les utilisateurs peuvent télécharger au format PDF.
Ce tutoriel montre comment utiliser le composant logiciel IronPDF for .NET pour transformer n'importe quel formulaire Web ASP.NET en un fichier PDF(ASP.NET vers 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 HTML vers PDF(convertir ASPX en PDF) lors du rendu de pages web à l'aide de l'IronPDF et de sonclasse AspxToPdf**.
1. Installer le convertisseur de fichiers ASPX gratuit d'IronPDF
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
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 dans toutes les boîtes de dialogue qui s'affichent.
Cela fonctionnera dans n'importe quel projet C# .NET Framework à partir de Framework 4.6.2 ou .NET Core 2. Il fonctionnera tout aussi bien dans les projets VB.NET.
Install-Package IronPdf
Télécharger IronPDF depuis NuGet
Installation via DLL
La DLL IronPDF peut également être téléchargée et installée manuellement dans le projet ou le GAC à partir du site suivant Télécharger le package IronPDF.
N'oubliez pas d'ajouter cette déclaration en tête de tout fichier de classe cs utilisant IronPDF :
en utilisant IronPDF ;
2. Convertir des pages Web ASP.NET en PDF
Nous commençons par un "formulaire Web" ASPX normal, qui s'affiche en HTML. Par la suite, nous convertissons la page ASPX au format 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 convertir cette page Web ASP.NET en PDF plutôt qu'en HTML, nous devons ouvrir le fichier C#(ou VB.NET) et l'ajouter à l'événement Page_Load :
:path=/static-assets/pdf/content-code-examples/how-to/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/how-to/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 dans leur intégralité en ligne à l'adresse suivanteRéférence de l'API IronPDF.
3.1. Définir le comportement du fichier PDF
le comportement du 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 d'un PDF
Nous pouvons contrôler la sortie du PDF en ajoutant une instance de la classe IronPDF.ChromePdfRenderer. Référence API ChromePdfRenderer
:path=/static-assets/pdf/content-code-examples/how-to/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 :
- CreatePdfFormsFromHtml Transforme les éléments de formulaire ASPX en formulaires PDF éditables.
- CssMediaType
Screen
ouPrint
Styles CSS et feuilles de style. Voir notretutoriel complet et approfondi avec images de comparaison. - CustomCssUrl Permet 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.
- EnableMathematicalLaTex Active ou désactive le rendu des éléments mathématiques LaTeX.
- EnableJavaScript Permet l'exécution de JavaScript et de JSON avant le rendu de la page. Idéal pour l'impression à partir d'applications Ajax / Angular. Voir aussiGuide pratique de WaitFor.
- Javascript Spécifie une chaîne JavaScript personnalisée à exécuter après le chargement de tout le HTML mais avant le rendu du PDF.
- JavascriptMessageListener Méthode de rappel à invoquer lorsqu'un message de la console JavaScript du navigateur est disponible.
- FirstPageNumber Numéro de la première page pour Header et Footer. La valeur par défaut est 1.
- TableOfContents Génère une table des matières à l'endroit du document HTML où un élément est trouvé avec l'id "IronPDF-toc".
- TextHeader Définit le contenu du pied de page de chaque page PDF sous forme de texte. Prend en charge la fusion de courriers électroniques et transforme automatiquement les URL en hyperliens.
- TextFooter Définit le contenu de l'en-tête de chaque page PDF sous forme de texte. Prend en charge la fusion de courriers électroniques et transforme automatiquement les URL en hyperliens.
- HtmlHeader Définit le contenu de l'en-tête de chaque page PDF en utilisant des chaînes de contenu ou même du HTML.
- 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.
- MarginBottom Marge inférieure du papier PDF en millimètres. Régler à zéro pour un pdf sans bordure.
- MarginLeft Marge gauche du papier PDF 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.
- MarginTop Marge supérieure du papier PDF en millimètres. Régler à zéro pour un pdf sans bordure.
- UseMarginsOnHeaderAndFooter Spécifie s'il faut utiliser les valeurs de marge du document principal lors du rendu des en-têtes et des pieds de page.
- PaperFit : Un gestionnaire pour la mise 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 les configurations de pages PDF de type flux continu.
- PaperOrientation L'orientation du papier du PDF. Paysage ou Portrait.
- PageRotation Rotation de page à partir d'un document existant. Explication complète et exemple de code.
- PaperSize Définir un format de papier de sortie pour les pages PDF en utilisant System.Drawing.Printing.PaperKind.
- SetCustomPaperSizeinCentimeters Définit le format du papier en centimètres.
- SetCustomPaperSizeInInches Définit la taille du papier en pouces.
- SetCustomPaperSizeinMilimeters Définit la taille du papier en millimètres.
- SetCustomPaperSizeinPixelsOrPoints Définit la taille du papier en pixels de l'écran ou en points de l'imprimante.
- ForcePaperSize Spécifie s'il faut forcer la taille des pages à correspondre exactement à ce qui est spécifié via PaperSize en redimensionnant la page après avoir généré un PDF à partir de HTML.
- PrintHtmlBackgrounds Imprime les images d'arrière-plan HTML.
- GrayScale Produit un PDF en niveaux de gris en nuances de gris au lieu d'une couleur complète.
WaitFor Objet enveloppant qui contient la configuration du mécanisme d'attente. Cela peut s'avérer utile lorsque l'on envisage le rendu de JavaScript, d'Ajax ou d'animations.
PageLoad : Rendu par défaut sans attente.
RenderDelay : Définition d'un temps d'attente arbitraire.
Fonts : Attend que toutes les polices soient chargées.
JavaScript : Déclenchement du rendu avec une fonction JavaScript.
- Éléments HTML : Attend des éléments HTML spécifiques, tels que les ID d'éléments, les noms, les noms de balises et les sélecteurs de requête pour cibler les éléments.
- NetworkIdle : Attente de l'inactivité du réseau(0, 2 ou un montant personnalisé).
- Title Document PDF 'Title' metadata.
- 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.
- RequestContext Spécifie le contexte de la demande pour le rendu.
- Timeout. Délai de rendu en secondes.
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 procéder est d'utiliser la classe TextHeaderFooter, qui prend en charge une mise en page de base permettant d'ajouter facilement 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/how-to/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/how-to/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 HTML dans les en-têtes et les pieds de page à l'aide de caractères de remplissage :
- {page}: pour le numéro de la page actuelle du PDF.
- {nombre total de pages}le nombre de pages est le nombre total de pages dans le PDF.
- {url}: URL web à partir de laquelle le document PDF a été rendu.
- {date}pour la date du jour dans un format adapté à l'environnement système du serveur.
- {temps}la traduction doit rester professionnelle, en préservant la précision technique tout en expliquant les caractéristiques et les avantages de ces outils de développement.
- {titre html}: insère le titre de la balise head du formulaire web ASPX.
- {titre du pdf}pour le nom du fichier du 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/how-to/aspx-to-pdf-6.cs
<div style='page-break-after: always;'> </div>
6. Combiner l'asynchronisme et le multithreading pour plus de performance
IronPDF a été conçu pour le Framework .NET 4.6.2, ou .NET Core 2 ou supérieur. Dans les projets Framework 4.6.2 ou supérieurs,Capacités d'ASYNC peut être utilisé pour améliorer les performances lorsque l'on travaille avec plusieurs documents.
La combinaison d'Async avec des processeurs multithreads et la commande Parallel.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 ASPX File to PDF Converter de ce tutoriel peut être téléchargé sous la forme d'un projet zippé d'application Web de Visual Studio.
Télécharger 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 leRéférence de la classe IronPDF.AspxToPdf.
8. Regarder la vidéo du tutoriel ASPX vers PDF
Tutoriel Accès rapide
Télécharger ce tutoriel sous forme de code source
Le code source complet du convertisseur de fichiers ASPX en PDF pour ce tutoriel est disponible sous la forme d'un projet d'application Web Visual Studio zippé. The free download contains working code examples for a C# ASP.NET Web Forms project, showing a web page rendered as a PDF with settings applied.
TéléchargerExplorer ce tutoriel sur GitHub
Le code de ce projet ASPX-To-PDF en C# 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 obtenir plus d'aide sur l'utilisation d'IronPDF. N'hésitez pas à partager cet article avec tous ceux qui se demandent comment convertir ASPX en PDF
Projet de site Web ASPX vers PDF en C# Exemples avancés de pages ASP.NET au format PDF en C# pour la création de PDF Exemples de PDF ASP.NET en VB.NET pour créer des PDFTé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 " permet d'accéder rapidement aux fonctions et exemples courants de génération et d'édition de PDF en C# et VB.NET, et aidera à gagner du temps pour commencer à utiliser IronPDF dans votre projet .NET.
TéléchargerVoir la référence de l'API
Explorez la référence API pour IronPDF, décrivant les détails de toutes les fonctionnalités, espaces de noms, classes, champs de méthodes et enums d'IronPDF.
Voir la référence de l'API IronPDF