Jak przekonwertować widok na PDF w ASP.NET Core C#

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

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF umożliwia konwersję widoków ASP.NET MVC do dokumentów PDF przy użyciu metody ChromePdfRenderer.RenderView() za pomocą zaledwie kilku wierszy kodu. Pakiet IronPdf.Extensions.Mvc.Framework zapewnia płynną integrację z projektami ASP.NET MVC w celu renderowania widoków CSHTML jako plików 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. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    // Install-Package IronPdf.Extensions.Razor
    var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext);
  3. Wdroż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ę?

Dłączego IronPDF wymaga pakietu rozszerzeń?

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

Jak zainstalować pakiet rozszerzeń?

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:
:path=/static-assets/pdf/content-code-examples/how-to/cshtml-to-pdf-mvc-framework-model.cs
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; }
    }
}
Namespace ViewToPdfMVCSample.Models
	Public Class Person
		Public Property Id() As Integer
		Public Property Name() As String
		Public Property Title() As String
		Public Property Description() As String
	End Class
End Namespace
$vbLabelText   $csharpLabel

Jak edytować kontroler?

Jaki kod powinienem dodać do kontrolera?

Przejdź do folderu "Controllers" i otwórz plik HomeController. Dodaj akcję Persons, używając następującego kodu:

W podanym kodzie najpierw tworzona jest klasa ChromePdfRenderer. Aby użyć metody RenderView, należy podać jej HttpContext, określić ścieżkę do pliku "Persons.cshtml" oraz podać List<Person> zawierający niezbędne dane. Podczas renderowania widoku można użyć RenderingOptions, aby dostosować marginesy, dodać niestandardowy tekst oraz nagłówki i stopki HTML, a także zastosować numery stron w wynikowym dokumencie PDF.

Zwróć uwagęDokument PDF można pobrać na komputer za pomocą 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();
        }
    }
}
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();
        }
    }
}
Imports IronPdf
Imports System.Collections.Generic
Imports System.Web.Mvc
Imports ViewToPdfMVCSample.Models

Namespace ViewToPdfMVCSample.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As ActionResult
			Return View()
		End Function

		' GET: Person
		Public Function Persons() As ActionResult
			' Create a list of Person objects
'INSTANT VB NOTE: The local variable persons was renamed since Visual Basic will not allow local variables with the same name as their enclosing function or property:
			Dim persons_Conflict = New List(Of Person) From {
				New Person With {
					.Name = "Alice",
					.Title = "Mrs.",
					.Description = "Software Engineer"
				},
				New Person With {
					.Name = "Bob",
					.Title = "Mr.",
					.Description = "Software Engineer"
				},
				New Person With {
					.Name = "Charlie",
					.Title = "Mr.",
					.Description = "Software Engineer"
				}
			}

			If HttpContext.Request.HttpMethod = "POST" Then
				' Define the path to the View file
				Dim viewPath = "~/Views/Home/Persons.cshtml"

				' Instantiate the ChromePdfRenderer
				Dim renderer As New ChromePdfRenderer()

				' Render the view to a PDF document
				Dim pdf As PdfDocument = renderer.RenderView(Me.HttpContext, viewPath, persons_Conflict)

				' 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")
			End If
			Return View(persons_Conflict)
		End Function

		Public Function About() As ActionResult
			ViewBag.Message = "Your application description page."
			Return View()
		End Function

		Public Function Contact() As ActionResult
			ViewBag.Message = "Your contact page."
			Return View()
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

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);
}
// 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);
}
Imports System.Web.Mvc
Imports IronPdf

' Advanced rendering with custom options
Public Function PersonsAdvanced() As ActionResult
    Dim persons = GetPersonsList()

    If HttpContext.Request.HttpMethod = "POST" Then
        Dim viewPath = "~/Views/Home/Persons.cshtml"

        ' Configure the renderer with custom options
        Dim renderer As 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
        Dim pdf As PdfDocument = renderer.RenderView(Me.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")
    End If

    Return View("Persons", persons)
End Function
$vbLabelText   $csharpLabel

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żna wprowadzać do niego różne ulepszenia i poprawki. 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.

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 programu Visual Studio wyświetlające opcję

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

Okno dialogowe Visual Studio

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

Okno dialogowe Dodaj widok w Visual Studio pokazujące konfigurację widoku Osoby z szablonem Listy i klasą modelu Osoba

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 wywołujący akcję Persons, użyj poniższego kodu:

@using (Html.BeginForm("Persons", "Home", FormMethod.Post))
{
    <input type="submit" value="Print Person" />
}
@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ą nazwie naszego pliku, czyli "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>
<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 showing ASP.NET MVC HomeController with Persons action method and PDF generation code

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

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,926,724 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.