Jak generować PDF w ASP.NET MVC: IronPDF vs iTextSharp?
Dwa problemy z układem pojawiają się stale w obiegach dokumentów. Szeroka treść, taka jak tabele finansowe, kokpity i harmonogramy projektów, jest obcinana lub zakleszczana, gdy jest wymuszona na pionowy układ. A skanowane lub importowane strony często przychodzą bokiem lub do góry nogami. IronPDF rozwiązuje oba w C#, ustawiając orientację podczas renderowania PDF oraz obracając strony w już istniejących dokumentach.
Problem biznesowy
System raportowania generuje tabelę w stylu arkusza kalkulacyjnego, która przepełnia stronę pionową. Proces przyjmowania dokumentów odbiera skany obrócone w niewłaściwą stronę. Końcowy raport złożony z kilku źródeł ma strony pod różnymi kątami. Każdy przypadek pozostawia użytkowników marszczącymi oczy, przewijającymi na boki lub ręcznie obracającymi strony w przeglądarce. Celem jest prawidłowy, spójny układ, produkowany automatycznie.
Ustawianie orientacji w czasie renderowania
Orientacja jest wybierana podczas generowania PDF z innego formatu poprzez właściwość PaperOrientation. Krajobraz daje szerokiej treści potrzebną przestrzeń poziomą.
using IronPdf;
using IronPdf.Rendering;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
PdfDocument pdf = renderer.RenderHtmlAsPdf(reportHtml);
pdf.SaveAs("report-landscape.pdf");
Obracanie stron w istniejących dokumentach
Obracanie działa na dokumentach już stworzonych, co czyni go narzędziem do korekty skanów lub normalizacji scalonych plików. IronPDF oferuje cztery stałe kąty za pośrednictwem wyliczenia PdfPageRotation oraz metody dla jednej strony, wybranego zestawu lub wszystkich stron.
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 odczytuje bieżący kąt dowolnej strony, co pomaga podczas normalizacji dokumentów scalonych z wielu źródeł.
PdfPageRotation rotation = pdf.GetPageRotation(1);
Punkty do zaplanowania
- Czas renderowania kontra istniejące pliki:
PaperOrientationstosuje się tylko podczas generowania PDF z innego formatu. Obracanie dotyczy PDF już istniejących. Oddzielenie obu unika najczęstszego błędu. - Obrót całej strony: Obrót przesuwa tekst, obrazy i adnotacje razem, co różni się od obracania pojedynczych elementów tekstowych.
- Indeksowanie zero-based:
SetPageRotation(1, ...)celuje w drugą stronę. - Zachowanie oryginałów: Zapisz obrócone wyjście pod nową nazwą pliku i użyj
SetPageRotationsdla wielu stron dla lepszej wydajności.
Wynik
Dzięki ustawieniu orientacji podczas renderowania i zastosowaniu obrotu później, zespoły produkują raporty, które pasują do ich treści, a instalowane pliki przechowują poprawnie zorientowane dokumenty, bez potrzeby ręcznego sprzątania. Pełne szczegóły metod znajdują się w przewodniku po orientacji i obrocie stron.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.