IRONSOFTWAREHOME

Jak konwertować Widoki do PDF w ASP.NET MVC za pomocą C#

Curtis Chau
Curtis Chau
Updated: 24 kwietnia 2026

IronPDF umożliwia konwersję widoków ASP.NET MVC na dokumenty PDF, korzystając z metody ChromePdfRenderer.RenderView() zaledwie za pomocą kilku linii kodu. Pakiet IronPdf.Extensions.Mvc.Framework oferuje bezproblemową integrację z projektami ASP.NET MVC do renderowania widoków CSHTML jako PDF.

Widok to komponent w .NET Framework używany do generowania znaczników HTML w aplikacjach internetowych. Jest to część wzorca Model-View-Controller (MVC), powszechnie stosowanego w aplikacjach ASP.NET MVC i ASP.NET Core MVC. Widoki są odpowiedzialne za prezentację danych użytkownikowi poprzez dynamiczne renderowanie treści HTML. Moc Chrome PDF Rendering Engine IronPDF zapewnia, że widoki są renderowane z dokładnością do piksela, zachowując wszelkie style, układy i elementy interaktywne.

ASP.NET Web Application (.NET Framework) MVC jest frameworkiem aplikacji internetowych zapewnianym przez Microsoft. Podąża za ustrukturyzowanym wzorcem architektonicznym znanym jako Model-View-Controller (MVC), aby organizować i usprawniać rozwój aplikacji internetowych.

  • Model: Zarządza danymi, logiką biznesową i integralnością danych.
  • Widok: Prezentuje interfejs użytkownika i renderuje informacje.
  • Kontroler: Obsługuje wejście użytkownika, przetwarza żądania i orkiestruje interakcje między Modelem a Widokiem.

IronPDF upraszcza proces tworzenia plików PDF z Widoków w projekcie ASP.NET MVC. To sprawia, że generowanie PDF jest proste i bezpośrednie w ASP.NET MVC. Niezależnie od tego, czy generujesz faktury, raporty, czy jakiekolwiek dokumenty z widoków internetowych, IronPDF dostarcza narzędzi potrzebnych do profesjonalnego generowania PDF. Dla kompleksowego przewodnika po konfiguracji, odwiedź stronę Installation Overview.

Szybki start: Konwertuj Widok ASP.NET MVC na PDF bez wysiłku

Dowiedz się, jak szybko przekształcać Widoki ASP.NET MVC w dokumenty PDF używając IronPDF. W kilku liniach kodu możesz renderować swoje widoki CSHTML do wysokiej jakości plików PDF, zwiększając funkcjonalność swojej aplikacji. IronPDF upraszcza proces, czyniąc go dostępnym dla programistów na każdym poziomie. Rozpocznij pracę, integrując IronPDF z projektami ASP.NET Core, aby bez wysiłku generować PDF z Widoków.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Skopiuj i uruchom ten fragment kodu.

    // Install-Package IronPdf.Extensions.Razor
    var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext);
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jakiego pakietu rozszerzeń potrzebuję?

Dlaczego IronPDF wymaga pakietu rozszerzeń?

Pakiet IronPdf.Extensions.Mvc.Framework jest rozszerzeniem głównego pakietu IronPDF. Zarówno pakiety IronPdf.Extensions.Mvc.Framework, jak i IronPdf są wymagane do renderowania widoków jako dokumentów PDF w ASP.NET MVC. To rozdzielenie pozwala na zoptymalizowaną funkcjonalność specyficzną dla frameworka MVC przy jednoczesnym zachowaniu podstawowych możliwości renderowania PDF.

Jak zainstalować pakiet rozszerzeń?

PM > Install-Package IronPdf.Extensions.Mvc.Framework

Biblioteka C# NuGet dla plików PDF

Zainstaluj za pomocą NuGet

Install-Package IronPdf.Extensions.Mvc.Framework

Jak renderować widoki do plików PDF?

Jakiego typu projektu potrzebuję?

Aby konwertować Widoki na pliki PDF, potrzebujesz projektu ASP.NET Web Application (.NET Framework) MVC. IronPDF obsługuje różne wersje MVC i oferuje rozbudowane opcje renderowania, aby dostosować wyjście PDF do swoich wymagań.

Jak dodać klasę modelu?

Gdzie powinienem utworzyć Model?

  • Przejdź do folderu "Models"
  • Utwórz nowy plik klasy C# o nazwie Person. Ta klasa służy jako model do reprezentowania indywidualnych danych. Użyj poniższego kodu:
namespace ViewToPdfMVCSample.Models
{
    public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}

Jak edytować kontroler?

Jaki kod powinienem dodać do kontrolera?

Przejdź do folderu "Controllers" i otwórz plik HomeController. Dodaj akcję Persons za pomocą poniższego kodu:

W dostarczonym kodzie najpierw tworzona jest klasa ChromePdfRenderer. Aby użyć metody RenderView, dostarcz jej HttpContext, określ ścieżkę do pliku "Persons.cshtml" i zapewnij List<Person> zawierającym niezbędne dane. Podczas renderowania widoku możesz użyć RenderingOptions, aby dostosować marginesy, dodać niestandardowy tekst i nagłówki HTML oraz stopki i zastosować numerację stron do generowanego dokumentu PDF.

Zwróć uwagę: Dokument PDF można pobrać na maszynę, używając następującego kodu: File(pdf.BinaryData, "application/pdf", "viewToPdfMVC.pdf").
using IronPdf;
using System.Collections.Generic;
using System.Web.Mvc;
using ViewToPdfMVCSample.Models;

namespace ViewToPdfMVCSample.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        // GET: Person
        public ActionResult Persons()
        {
            // Create a list of Person objects
            var persons = new List<Person>
            {
                new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
                new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
                new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
            };

            if (HttpContext.Request.HttpMethod == "POST")
            {
                // Define the path to the View file
                var viewPath = "~/Views/Home/Persons.cshtml";

                // Instantiate the ChromePdfRenderer
                ChromePdfRenderer renderer = new ChromePdfRenderer();

                // Render the view to a PDF document
                PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);

                // Set headers to view the PDF in-browser
                Response.Headers.Add("Content-Disposition", "inline");

                // Return the generated PDF file
                return File(pdf.BinaryData, "application/pdf");
            }
            return View(persons);
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";
            return View();
        }
    }
}

Jak mogę dostosować opcje renderowania PDF?

Dla bardziej zaawansowanych scenariuszy można dostosować wyjście PDF za pomocą różnych opcji renderowania. Oto przykład z niestandardowymi marginesami, rozmiarem papieru i dodatkowymi ustawieniami:

// Advanced rendering with custom options
public ActionResult PersonsAdvanced()
{
    var persons = GetPersonsList();

    if (HttpContext.Request.HttpMethod == "POST")
    {
        var viewPath = "~/Views/Home/Persons.cshtml";
        
        // Configure the renderer with custom options
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        
        // Set custom rendering options
        renderer.RenderingOptions.MarginTop = 40;
        renderer.RenderingOptions.MarginBottom = 40;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;
        
        // Set custom paper size
        renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
        
        // Add header and footer
        renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
        renderer.RenderingOptions.TextHeader.CenterText = "{pdf-title}";
        renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
        renderer.RenderingOptions.TextHeader.FontSize = 12;
        
        renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
        renderer.RenderingOptions.TextFooter.Font = IronPdf.Font.FontTypes.Arial;
        renderer.RenderingOptions.TextFooter.FontSize = 10;
        renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
        
        // Enable JavaScript execution if needed
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.RenderDelay = 500; // Wait for JS to execute
        
        // Render the view to PDF
        PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
        
        // Optional: Apply compression to reduce file size
        pdf.CompressImages(60);
        
        Response.Headers.Add("Content-Disposition", "inline");
        return File(pdf.BinaryData, "application/pdf");
    }
    
    return View("Persons", persons);
}

Dla więcej informacji o optymalizacji marginesów, odwiedź nasz przewodnik Ustaw niestandardowe marginesy. Jeśli potrzebujesz pracować z konkretnymi wymiarami papieru, sprawdź naszą dokumentację Niestandardowy rozmiar papieru.

Co mogę zrobić z wygenerowanym PDF?

Po uzyskaniu obiektu PdfDocument za pomocą metody RenderView, możesz wprowadzać różne usprawnienia i korekty. Możesz przekonwertować PDF na format PDFA lub PDFUA, zastosować podpisy cyfrowe do utworzonego PDF lub scalić i rozdzielić dokumenty PDF według potrzeb. Biblioteka umożliwia obracanie stron, dodawanie adnotacji lub zakładek oraz zastosowanie unikalnych znaków wodnych do plików PDF.

Aby zoptymalizować rozmiar pliku, rozważ użycie technik Kompresji PDF. Podczas pracy z treściami bogatymi w JavaScript nasz przewodnik renderowania JavaScript dostarcza szczegółowych informacji na temat radzenia sobie z z opóźnieniami renderowania. Dla różnych opcji eksportu, zapoznaj się z naszym obszernym przewodnikiem Zapisz i eksportuj dokumenty PDF.

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak dodać widok?

Jakie kroki powinienem podjąć, aby utworzyć Widok?

  • Kliknij prawym przyciskiem myszy na nowo dodanej akcji Person i wybierz "Add View".

Menu kontekstowe Visual Studio pokazujące opcję 'Add View...' przy kliknięciu prawym przyciskiem myszy na metodzie akcji Persons()

  • Wybierz 'MVC 5 View' dla nowego elementu Scaffolded.

Okno dialogowe Dodaj Nowy Element Zasobnika Visual Studio z wybranym szablonem Widoku MVC 5

  • Wybierz szablon "List" i klasę modelu Person.

Okno dialogowe Dodaj Widok w Visual Studio pokazujące konfigurację widoku Persons z szablonem List i klasą modelu Person

Tworzy to plik .cshtml o nazwie 'Persons'.

Jak dodać przycisk drukowania do Widoku?

  • Przejdź do folderu "Views" -> folderu "Home" -> pliku "Persons.cshtml".

Aby dodać przycisk, który wywołuje akcję Persons, użyj poniższego kodu:

@using (Html.BeginForm("Persons", "Home", FormMethod.Post))
{
    <input type="submit" value="Print Person" />
}
HTML

Jak dodać sekcję do górnego paska nawigacyjnego?

Gdzie powinienem zaktualizować nawigację?

  • W folderze "Views", przejdź do folderu "Shared" -> pliku "_Layout.cshtml". Umieść element nawigacyjny "Person" po "Home".

Upewnij się, że wartości dla metody ActionLink dokładnie odpowiadają naszej nazwie pliku, która to "Persons".

<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-dark bg-dark">
    <div class="container">
        @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        <button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" title="Toggle navigation" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse d-sm-inline-flex justify-content-between">
            <ul class="navbar-nav flex-grow-1">
                <li>@Html.ActionLink("Home", "Index", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Persons", "Persons", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("About", "About", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home", new { area = "" }, new { @class = "nav-link" })</li>
            </ul>
        </div>
    </div>
</nav>
HTML

Jak uruchomić i przetestować projekt?

Uruchom projekt

To pokazuje, jak uruchomić projekt i wygenerować dokument PDF.

Visual Studio przedstawiający ASP.NET MVC HomeController z metodą akcji Persons i kodem generowania PDF

Wynik w formacie PDF

Gdzie mogę pobrać kompletny projekt?

Co zawiera przykładowy projekt?

Możesz pobrać kompletny kod dla tego przewodnika. Jest dostarczany jako spakowany plik, który można otworzyć w Visual Studio jako projekt ASP.NET Web Application (.NET Framework) MVC. Przykład zawiera wszystkie niezbędne konfiguracje, klasy modelu, kontrolery i widoki, aby szybko rozpocząć pracę z generowaniem PDF w aplikacjach MVC.

Pobierz przykładowy projekt MVC do konwersji PDF

Często Zadawane Pytania

Jak mogę przekonwertować widoki CSHTML na PDF w ASP.NET MVC?

Możesz przekonwertować widoki CSHTML na PDF w ASP.NET MVC używając metody ChromePdfRenderer.RenderView() IronPDF. Wystarczy zainstalować pakiet IronPdf.Extensions.Mvc.Framework i użyć metody renderowania, aby przekształcić widoki w wysokiej jakości dokumenty PDF za pomocą kilku linijek kodu.

Jaki jest minimalny kod potrzebny do renderowania widoku jako PDF?

Minimalny kod do renderowania widoku jako PDF to: var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext); Ta pojedyncza linijka kodu z użyciem IronPDF przekonwertuje Twój obecny widok na dokument PDF.

Jakiego pakietu rozszerzeń potrzebuję do generacji PDF w ASP.NET MVC?

Dla aplikacji ASP.NET MVC potrzebujesz pakietu IronPdf.Extensions.Mvc.Framework. To rozszerzenie zapewnia bezproblemową integrację z projektami ASP.NET MVC i działa w parze z głównym pakietem IronPdf, aby umożliwić funkcjonalność konwersji widoków na PDF.

Jakiego silnika renderującego używa się do konwersji widoków na PDF?

IronPDF używa silnika renderującego PDF Chrome, co zapewnia dokładność na poziomie piksela podczas konwersji widoków na PDF. Ten silnik utrzymuje wszystkie style, układy i interaktywne elementy z oryginalnych widoków CSHTML w ostatecznym rezultacie PDF.

Czy mogę generować faktury i raporty z widoków MVC?

Tak, IronPDF doskonale nadaje się do generowania faktur, raportów i innych dokumentów z widoków MVC. Biblioteka zapewnia profesjonalne możliwości generowania PDF, co czyni ją idealnym rozwiązaniem do tworzenia dokumentów biznesowych bezpośrednio z widoków aplikacji webowych.

Jakie są podstawowe kroki do wdrożenia konwersji widoków na PDF?

Podstawowa implementacja obejmuje 5 kroków: 1) Pobierz i zainstaluj bibliotekę IronPDF, 2) Dodaj klasę modelu dla swoich danych, 3) Utwórz akcję kontrolera używając metody RenderView, 4) Dodaj Widok używając Scaffolding MVC 5, i 5) Wykonaj konwersję używając metod renderowania IronPDF.

Czy wynik PDF zachowuje oryginalne style widoku?

Tak, silnik renderujący Chrome IronPDF zapewnia, że wszystkie style CSS, układy i interaktywne elementy z widoków CSHTML są zachowane w wyniku PDF. To zapewnia dokładność na poziomie piksela i utrzymuje integralność wizualną oryginalnych widoków webowych.

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ęczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 20,667,543Wersja:2026.7właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.7

Pobierz teraz

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta