Comment générer un PDF dans ASP.NET MVC : IronPDF vs iTextSharp ?
Deux problèmes de mise en page apparaissent constamment dans les flux de travail des documents. Le contenu large tel que les tableaux financiers, les tableaux de bord et les calendriers de projet est coupé ou enveloppé lorsqu'il est forcé en portrait. Et les pages numérisées ou importées arrivent souvent de côté ou à l'envers. IronPDF résout les deux en C#, en définissant l'orientation pendant qu'un PDF est en cours de rendu et en tournant les pages sur des documents qui existent déjà.
Le problème d'entreprise
Un système de rapport génère un tableau de type feuille de calcul qui déborde d'une page portrait. Un processus d'acquisition de documents reçoit des numérisations qui sont tournées dans le mauvais sens. Un rapport final assemblé à partir de plusieurs sources a des pages à des angles incohérents. Chaque cas laisse les utilisateurs plisser les yeux, faire défiler latéralement ou tourner les pages à la main dans un visualiseur. L'objectif est d'obtenir une mise en page correcte et cohérente produite automatiquement.
Définition de l'orientation au moment du rendu
L'orientation est choisie lors de la génération d'un PDF à partir d'un autre format, via la propriété PaperOrientation. Le mode paysage donne au contenu large l'espace horizontal dont il a besoin.
using IronPdf;
using IronPdf.Rendering;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
PdfDocument pdf = renderer.RenderHtmlAsPdf(reportHtml);
pdf.SaveAs("report-landscape.pdf");
Rotation des pages sur les documents existants
La rotation fonctionne sur des documents déjà créés, ce qui en fait l'outil idéal pour corriger des numérisations ou normaliser des fichiers fusionnés. IronPDF propose quatre angles fixes via l'énumération PdfPageRotation et des méthodes pour une page, un ensemble sélectionné, ou toutes les pages.
PdfDocument pdf = PdfDocument.FromFile("scanned.pdf");
// Correct every page in a uniformly misrotated batch
pdf.SetAllPageRotations(PdfPageRotation.Clockwise90);
// Fix a single page
pdf.SetPageRotation(1, PdfPageRotation.Clockwise180);
// Fix a selected set of pages
pdf.SetPageRotations(new List<int> { 0, 3 }, PdfPageRotation.Clockwise270);
pdf.SaveAs("corrected.pdf");
GetPageRotation lit l'angle actuel de n'importe quelle page, ce qui aide à normaliser les documents fusionnés à partir de plusieurs sources.
PdfPageRotation rotation = pdf.GetPageRotation(1);
Points à planifier
- Temps de rendu versus fichiers existants :
PaperOrientations'applique uniquement lors de la génération d'un PDF à partir d'un autre format. La rotation s'applique aux PDFs qui existent déjà. Garder les deux séparés évite l'erreur la plus courante. - Rotation de page entière : La rotation déplace texte, images et annotations ensemble, ce qui diffère de la rotation des éléments de texte individuels.
- Indexation à partir de zéro :
SetPageRotation(1, ...)cible la deuxième page. - Préserver les originaux : Enregistrez la sortie tournée sous un nouveau nom de fichier, et utilisez
SetPageRotationspour plusieurs pages pour de meilleures performances.
Résultat
Avec l'orientation définie pendant le rendu et la rotation appliquée ensuite, les équipes produisent des rapports qui s'adaptent à leur contenu et des pipelines d'acquisition qui stockent des documents correctement orientés, sans nettoyage manuel. Tous les détails des méthodes sont dans le guide d'orientation et de rotation des pages.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.