Przejdź do treści stopki
PORóWNANIA PRODUKTóW

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");
using IronPdf;
using IronPdf.Rendering;

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;

PdfDocument pdf = renderer.RenderHtmlAsPdf(reportHtml);
pdf.SaveAs("report-landscape.pdf");
Imports IronPdf
Imports IronPdf.Rendering

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(reportHtml)
pdf.SaveAs("report-landscape.pdf")
$vbLabelText   $csharpLabel

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");
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");
Imports System.Collections.Generic

Dim pdf As PdfDocument = 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(Of Integer) From {0, 3}, PdfPageRotation.Clockwise270)

pdf.SaveAs("corrected.pdf")
$vbLabelText   $csharpLabel

GetPageRotation odczytuje bieżący kąt dowolnej strony, co pomaga podczas normalizacji dokumentów scalonych z wielu źródeł.

PdfPageRotation rotation = pdf.GetPageRotation(1);
PdfPageRotation rotation = pdf.GetPageRotation(1);
Dim rotation As PdfPageRotation = pdf.GetPageRotation(1)
$vbLabelText   $csharpLabel

Punkty do zaplanowania

  • Czas renderowania kontra istniejące pliki: PaperOrientation stosuje 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 SetPageRotations dla 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.

Często Zadawane Pytania

Jak mogę ustawić orientację PDF na poziomie krajobrazu za pomocą IronPDF?

Możesz ustawić orientację PDF na poziomie krajobrazu podczas procesu renderowania, używając właściwości `PaperOrientation` klasy `ChromePdfRenderer`. Po prostu ustaw `renderer.RenderingOptions.PaperOrientation` na `PdfPaperOrientation.Landscape`, zanim wyrenderujesz dokument.

Jakie są powszechne problemy z orientacją PDF w przepływach dokumentów?

Powszechne problemy obejmują szeroką zawartość, jak tablice finansowe, które są wycinane lub zawijane w trybie pionowym oraz zeskanowane lub importowane strony, które są układane bokiem lub do góry nogami. IronPDF może rozwiązać te problemy, ustawiając odpowiednią orientację podczas renderowania i obracając strony w istniejących dokumentach.

Czy IronPDF może obracać strony w już istniejącym dokumencie PDF?

Tak, IronPDF może obracać strony w istniejących dokumentach PDF. Oferuje metody do obracania jednej strony, wybranego zestawu lub wszystkich stron przy użyciu enum `PdfPageRotation`, który zawiera stałe kąty, takie jak Clockwise90, Clockwise180 i Clockwise270.

Jaki jest cel metody `SetAllPageRotations` w IronPDF?

Metoda `SetAllPageRotations` służy do stosowania jednolitego kąta obrotu do każdej strony w dokumencie PDF. Jest to szczególnie użyteczne do poprawiania partii stron, które są nieprawidłowo obrócone w ten sam sposób.

Jak zapewnić zachowanie oryginalnych plików PDF przy użyciu IronPDF?

Aby zachować oryginalne pliki PDF, zapisz wyjście rotacji z nową nazwą pliku, używając metody `SaveAs`. To zapobiega nadpisaniu oryginalnego dokumentu.

Jakie znaczenie ma indeksowanie od zera w IronPDF?

IronPDF używa indeksowania od zera dla numerów stron, co oznacza, że pierwsza strona jest indeksowana jako 0. Na przykład, `SetPageRotation(1, ...)` celuje w drugą stronę w dokumencie.

Jak IronPDF obsługuje obrót całej strony?

IronPDF obraca całe strony, w tym tekst, obrazy i adnotacje razem. To podejście różni się od obracania pojedynczych elementów, zapewniając, że cała treść strony zachowuje swoje względne pozycje.

Jaką metodę oferuje IronPDF do odczytania aktualnego kąta obrotu strony?

IronPDF dostarcza metodę `GetPageRotation`, aby odczytać aktualny kąt obrotu dowolnej strony w dokumencie PDF, co jest przydatne do normalizacji dokumentów scalanych z wielu źródeł.

Dlaczego ważne jest, aby odróżnić orientację w czasie renderowania od obrotu w IronPDF?

Ważne jest, aby rozróżnić orientację w czasie renderowania od obrotu, ponieważ `PaperOrientation` dotyczy tylko generowania PDF z innego formatu, podczas gdy obrót jest stosowany do istniejących PDF. Oddzielenie tych pojęć unika powszechnych błędów w przetwarzaniu dokumentów.

Jaki problem rozwiązuje ustawienie orientacji PDF na poziomie renderowania?

Ustawianie orientacji PDF na poziomie renderowania rozwiązuje problem przycinania lub zawijania szerokiej treści w trybie pionowym. Wybierając orientację krajobrazową, treści takie jak tablice finansowe i pulpity nawigacyjne mają wystarczająco miejsca na wyświetlenie w poziomie.

Curtis Chau
Autor tekstów technicznych

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ę...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie