Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

Jak przekonwertować stronę internetową do formatu PDF w ASP.NET

Konwersja stron internetowych do formatu PDF w ASP.NET jest prosta dzięki klasie ChromePdfRenderer biblioteki IronPDF, która przekształca ciągi HTML, adresy URL i strony ASPX w wysokiej jakości dokumenty PDF przy użyciu zaledwie kilku wierszy kodu C#.

Gdy w aplikacji ASP.NET trzeba wygenerować raporty, faktury lub dokumenty archiwalne do pobrania, konwersja treści internetowych do formatu PDF jest jednym z najczęstszych wymagań. IronPDF zapewnia bezpośrednią ścieżkę do konwersji strony internetowej do formatu PDF w ASP.NET, obsługując wszystko, od prostych ciągów HTML po w pełni renderowane dynamiczne strony internetowe — bez konieczności instalowania przeglądarek innych firm lub skomplikowanej konfiguracji.

W niniejszym przewodniku omówiono podstawowe metody konwersji dostępne w IronPDF, od podstawowego renderowania ciągów znaków HTML po przechwytywanie stron na podstawie adresów URL oraz integrację z formularzami internetowymi ASP.NET. Na koniec będziesz mieć działający kod C# dla każdego scenariusza oraz jasne zrozumienie, kiedy należy zastosować dane podejście.

Jak zainstalować i skonfigurować IronPDF?

Przed konwersją jakiejkolwiek treści zainstaluj IronPDF w swoim projekcie ASP.NET. Biblioteka jest dystrybuowana za pośrednictwem NuGet i działa z .NET 6, .NET 8, .NET 10 oraz .NET Framework:

Install-Package IronPdf
dotnet add package IronPdf
Install-Package IronPdf
dotnet add package IronPdf
SHELL

Po instalacji dodaj przestrzeń nazw na początku pliku C#:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

IronPDF współpracuje zarówno z aplikacjami ASP.NET Web Forms, jak i ASP.NET Core. Obsługuje wdrożenia Windows Server i IIS, konteneryzację Docker, Azure Functions oraz AWS Lambda dla architektur natywnych dla chmury. Zapoznaj się z przeglądem instalacji, aby uzyskać szczegółowe informacje dotyczące konfiguracji na poszczególnych platformach oraz instrukcje wdrażania w systemie Linux.

!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101000101111101010011010101000100000101010010010101000100010101000100010111110101011101001001010100010010000101111101010000010100100100111101000100010101010100001101010100010111110101010001010010010010010100000101001100010111110100001001001100010011110100001101001011--}

Jak przekonwertować ciąg znaków HTML na plik PDF?

Klasa ChromePdfRenderer jest głównym punktem wejścia do generowania plików PDF w IronPDF. Gdy masz treść HTML w postaci ciągu znaków — niezależnie od tego, czy została wygenerowana dynamicznie, czy załadowana z szablonu — metoda RenderHtmlAsPdf konwertuje ją bezpośrednio na dokument PDF.

To podejście jest idealne do generowania raportów, faktur i paragonów, w których kod HTML jest tworzony programowo na podstawie rekordów bazy danych lub danych aplikacji. Renderer przetwarza kod HTML przy użyciu tego samego silnika opartego na Chromium, który zasila nowoczesne przeglądarki, dzięki czemu układy CSS, czcionki internetowe i standardowe elementy HTML5 są renderowane poprawnie.

using IronPdf;

var renderer = new ChromePdfRenderer();

string htmlContent = @"
    <h1>Quarterly Sales Report</h1>
    <p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
    <table>
        <thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
        <tbody>
            <tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
            <tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
            <tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
        </tbody>
    </table>";

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("quarterly-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string htmlContent = @"
    <h1>Quarterly Sales Report</h1>
    <p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
    <table>
        <thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
        <tbody>
            <tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
            <tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
            <tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
        </tbody>
    </table>";

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("quarterly-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim htmlContent As String = "
    <h1>Quarterly Sales Report</h1>
    <p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
    <table>
        <thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
        <tbody>
            <tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
            <tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
            <tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
        </tbody>
    </table>"

Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("quarterly-report.pdf")
$vbLabelText   $csharpLabel

Jeśli kod HTML odwołuje się do zewnętrznych arkuszy stylów lub obrazów przy użyciu ścieżek względnych, podaj katalog bazowy jako drugi argument. To informuje IronPDF, gdzie ma rozpoznać te odniesienia:

using IronPdf;

var renderer = new ChromePdfRenderer();

string html = @"
    <link rel='stylesheet' href='styles.css'>
    <h1>Company Report</h1>
    <div>Annual Summary</div>";

// Provide the base path so the renderer can locate relative resources
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\Reports\Assets\");
pdf.SaveAs("annual-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string html = @"
    <link rel='stylesheet' href='styles.css'>
    <h1>Company Report</h1>
    <div>Annual Summary</div>";

// Provide the base path so the renderer can locate relative resources
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\Reports\Assets\");
pdf.SaveAs("annual-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim html As String = "
    <link rel='stylesheet' href='styles.css'>
    <h1>Company Report</h1>
    <div>Annual Summary</div>"

' Provide the base path so the renderer can locate relative resources
Dim pdf = renderer.RenderHtmlAsPdf(html, "C:\Reports\Assets\")
pdf.SaveAs("annual-report.pdf")
$vbLabelText   $csharpLabel

PDF viewer displaying a Q3 2025 quarterly sales report with a summary table showing product sales data including quantities and unit prices, with a grand total of $18,765.30 highlighted for review

Więcej informacji na temat obsługi zasobów można znaleźć w przewodniku dotyczącym adresów URL bazowych i kodowania zasobów oraz w samouczku dotyczącym konwersji HTML do PDF, poświęconym zaawansowanym technikom renderowania, w tym osadzaniu obrazów za pomocą DataURI.

Jak przekonwertować adres URL na plik PDF?

Gdy trzeba przechwycić istniejącą stronę internetową — niezależnie od tego, czy jest to ścieżka aplikacji wewnętrznej, czy publiczny adres URL — metoda RenderUrlAsPdf w IronPDF pobiera pełną zawartość strony i konwertuje ją do formatu PDF. Wynik zachowuje style, obrazy i układ dokładnie tak, jak są one renderowane w przeglądarce.

Renderowanie statycznej strony internetowej

W przypadku stron zawierających głównie treści statyczne wystarczy podstawowe wywołanie RenderUrlAsPdf. Metoda automatycznie obsługuje certyfikaty SSL, przekierowania i kodowanie treści:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Opcjaal: wait a short time for the page to finish loading
renderer.RenderingOpcjas.WaitFor.RenderDelay(500);

var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia-pdf-article.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Opcjaal: wait a short time for the page to finish loading
renderer.RenderingOpcjas.WaitFor.RenderDelay(500);

var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia-pdf-article.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Opcjaal: wait a short time for the page to finish loading
renderer.RenderingOptions.WaitFor.RenderDelay(500)

Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("wikipedia-pdf-article.pdf")
$vbLabelText   $csharpLabel

Renderowanie stron za pomocą JavaScript lub uwierzytelnianie

W przypadku stron wymagających uwierzytelnienia lub wykorzystujących JavaScript do dynamicznego ładowania danych należy skonfigurować renderer z odpowiednimi danymi uwierzytelniającymi i strategią oczekiwania:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable JavaScript for pages that load content after the initial HTML response
renderer.RenderingOpcjas.EnableJavaScript = true;
renderer.RenderingOpcjas.WaitFor.NetworkIdle(500);

// Provide credentials for authenticated internal pages
renderer.LoginCredentials = new ChromeHttpLoginCredentials()
{
    NetworkUsername = "service-account",
    NetworkPassword = "secure-password"
};

var pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly");
pdf.SaveAs("monthly-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable JavaScript for pages that load content after the initial HTML response
renderer.RenderingOpcjas.EnableJavaScript = true;
renderer.RenderingOpcjas.WaitFor.NetworkIdle(500);

// Provide credentials for authenticated internal pages
renderer.LoginCredentials = new ChromeHttpLoginCredentials()
{
    NetworkUsername = "service-account",
    NetworkPassword = "secure-password"
};

var pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly");
pdf.SaveAs("monthly-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Enable JavaScript for pages that load content after the initial HTML response
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.NetworkIdle(500)

' Provide credentials for authenticated internal pages
renderer.LoginCredentials = New ChromeHttpLoginCredentials() With {
    .NetworkUsername = "service-account",
    .NetworkPassword = "secure-password"
}

Dim pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly")
pdf.SaveAs("monthly-report.pdf")
$vbLabelText   $csharpLabel

Strona główna Wikipedii zawierająca wiele sekcji treści, w tym polecane artykuły o turnieju snookera Champion of Champions 2019, aktualności i informacje edukacyjne, pokazujące, jak złożone układy stron internetowych są zachowywane podczas konwersji do formatu PDF

W przypadku witryn korzystających z plików cookie sesji lub uwierzytelniania systemu Windows zapoznaj się z przewodnikiem dotyczącym protokołu TLS i logowania do systemu. Pełną listę opcji konfiguracyjnych, w tym obsługę plików cookie i niestandardowe nagłówki HTTP, można znaleźć w pełnej dokumentacji URL to PDF.

Jak przekonwertować stronę ASPX na PDF w formularzach internetowych ASP.NET?

W przypadku aplikacji ASP.NET Web Forms biblioteka IronPDF udostępnia klasę AspxToPdf, która konwertuje aktualnie renderowaną stronę ASPX bezpośrednio do formatu PDF — bez konieczności wysyłania oddzielnego żądania HTTP lub ponownego renderowania zawartości strony.

Podstawowa konwersja pliku ASPX w jednym wierszu

Wywołaj RenderThisPageAsPdf() w procedurze obsługi zdarzenia strony, a IronPDF przechwyci odpowiedź i zastąpi ją plikiem PDF do pobrania:

using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    // Configure paper settings before rendering
    IronPdf.AspxToPdf.RenderingOpcjas.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
    IronPdf.AspxToPdf.RenderingOpcjas.MarginTop = 20;
    IronPdf.AspxToPdf.RenderingOpcjas.MarginBottom = 20;

    // Convert the current ASPX page to PDF and send it to the browser
    IronPdf.AspxToPdf.RenderThisPageAsPdf(
        IronPdf.AspxToPdf.FileBehavior.InBrowser,
        "invoice-" + DateTime.UtcNow.ToString("yyyy-MM-dd") + ".pdf"
    );
}
using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    // Configure paper settings before rendering
    IronPdf.AspxToPdf.RenderingOpcjas.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
    IronPdf.AspxToPdf.RenderingOpcjas.MarginTop = 20;
    IronPdf.AspxToPdf.RenderingOpcjas.MarginBottom = 20;

    // Convert the current ASPX page to PDF and send it to the browser
    IronPdf.AspxToPdf.RenderThisPageAsPdf(
        IronPdf.AspxToPdf.FileBehavior.InBrowser,
        "invoice-" + DateTime.UtcNow.ToString("yyyy-MM-dd") + ".pdf"
    );
}
Imports IronPdf

Protected Sub Page_Load(sender As Object, e As EventArgs)
    ' Configure paper settings before rendering
    IronPdf.AspxToPdf.RenderingOpcjas.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
    IronPdf.AspxToPdf.RenderingOpcjas.MarginTop = 20
    IronPdf.AspxToPdf.RenderingOpcjas.MarginBottom = 20

    ' Convert the current ASPX page to PDF and send it to the browser
    IronPdf.AspxToPdf.RenderThisPageAsPdf(
        IronPdf.AspxToPdf.FileBehavior.InBrowser,
        "invoice-" & DateTime.UtcNow.ToString("yyyy-MM-dd") & ".pdf"
    )
End Sub
$vbLabelText   $csharpLabel

Przeglądarka plików PDF wyświetlająca przekonwertowaną stronę ASP.NET Web Forms z niebieskim przyciskiem

Metoda ta przechwytuje całą strukturę HTML, style i treści dynamiczne generowane w trakcie cyklu życia strony. Pełną listę opcji konwersji plików ASPX można znaleźć w przewodniku "ASPX do PDF" oraz w przykładach ustawień zaawansowanych.

Jak dodać nagłówki i stopki do dokumentów PDF?

Nagłówki i stopki są standardem w profesjonalnych raportach i fakturach. IronPDF obsługuje nagłówki i stopki zarówno tekstowe, jak i oparte na HTML, z wbudowanymi symbolami zastępczymi dla wartości dynamicznych, takich jak numery stron i bieżąca data.

Tekst i nagłówki HTML

Klasa TextHeaderFooter pozwala zdefiniować prosty tekst po lewej, w środku i po prawej stronie każdej strony. Symbole zastępcze, takie jak {page}, {total-pages} i {date}, są wypełniane automatycznie podczas renderowania. Jeśli potrzebujesz nagłówków z logo i niestandardowymi układami, użyj zamiast tego HtmlHeaderFooter — ten fragment HTML jest przetwarzany przez ten sam silnik renderujący, co treść dokumentu:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Simple text header with divider line
renderer.RenderingOpcjas.TextHeader = new TextHeaderFooter()
{
    CenterText = "Quarterly Financial Report",
    LeftText = "Document ID: {document-id}",
    RightText = "{date:yyyy-MM-dd}",
    DrawDividerLine = true,
    FontSize = 10,
    FontFamily = "Arial"
};

// HTML footer with branded layout
renderer.RenderingOpcjas.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
                    display: flex; justify-content: space-between;'>
            <span>© 2026 Enterprise Corp</span>
            <span>Page {page} of {total-pages}</span>
            <span>Classification: Internal</span>
        </div>",
    MaxHeight = 40
};

renderer.RenderingOpcjas.MarginTop = 40;
renderer.RenderingOpcjas.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Financial data goes here.</p>");
pdf.SaveAs("report-with-headers.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Simple text header with divider line
renderer.RenderingOpcjas.TextHeader = new TextHeaderFooter()
{
    CenterText = "Quarterly Financial Report",
    LeftText = "Document ID: {document-id}",
    RightText = "{date:yyyy-MM-dd}",
    DrawDividerLine = true,
    FontSize = 10,
    FontFamily = "Arial"
};

// HTML footer with branded layout
renderer.RenderingOpcjas.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
                    display: flex; justify-content: space-between;'>
            <span>© 2026 Enterprise Corp</span>
            <span>Page {page} of {total-pages}</span>
            <span>Classification: Internal</span>
        </div>",
    MaxHeight = 40
};

renderer.RenderingOpcjas.MarginTop = 40;
renderer.RenderingOpcjas.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Financial data goes here.</p>");
pdf.SaveAs("report-with-headers.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Simple text header with divider line
renderer.RenderingOpcjas.TextHeader = New TextHeaderFooter() With {
    .CenterText = "Quarterly Financial Report",
    .LeftText = "Document ID: {document-id}",
    .RightText = "{date:yyyy-MM-dd}",
    .DrawDividerLine = True,
    .FontSize = 10,
    .FontFamily = "Arial"
}

' HTML footer with branded layout
renderer.RenderingOpcjas.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "
        <div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
                    display: flex; justify-content: space-between;'>
            <span>© 2026 Enterprise Corp</span>
            <span>Page {page} of {total-pages}</span>
            <span>Classification: Internal</span>
        </div>",
    .MaxHeight = 40
}

renderer.RenderingOpcjas.MarginTop = 40
renderer.RenderingOpcjas.MarginBottom = 40

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Financial data goes here.</p>")
pdf.SaveAs("report-with-headers.pdf")
$vbLabelText   $csharpLabel

Przeglądarka plików PDF wyświetlająca miesięczny raport z prawidłowo sformatowanymi nagłówkami, w tym tytułem dokumentu i informacjami o zgodności, stopkami z numerami stron i oznaczeniami klasyfikacyjnymi, demonstrująca profesjonalne standardy dokumentacji korporacyjnej

Pełną listę dostępnych symboli zastępczych i zaawansowanych wzorców brandingowych można znaleźć w dokumentacji dotyczącej nagłówków i stopek.

Jak skonfigurować opcje układu strony i renderowania w pliku PDF?

IronPDF zapewnia pełną kontrolę nad układem strony, marginesami, rozdzielczością DPI i zachowaniem renderowania CSS za pomocą właściwości RenderingOpcjas. W tym miejscu konfiguruje się rozmiar papieru, CSS dla druku i ekranu oraz generowanie interaktywnych formularzy.

Kluczowe opcje renderowania

using IronPdf;

var renderer = new ChromePdfRenderer();

// Set paper dimensions and orientation
renderer.RenderingOpcjas.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
renderer.RenderingOpcjas.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

// Define margins (values in millimeters)
renderer.RenderingOpcjas.MarginTop = 25;
renderer.RenderingOpcjas.MarginBottom = 25;
renderer.RenderingOpcjas.MarginLeft = 19;
renderer.RenderingOpcjas.MarginRight = 19;

// Use print-specific CSS rules and set output DPI
renderer.RenderingOpcjas.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOpcjas.DPI = 300;

// Preserve HTML form elements as interactive PDF form fields
renderer.RenderingOpcjas.CreatePdfFormsFromHtml = true;

var pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>");
pdf.SaveAs("configured-output.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Set paper dimensions and orientation
renderer.RenderingOpcjas.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
renderer.RenderingOpcjas.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

// Define margins (values in millimeters)
renderer.RenderingOpcjas.MarginTop = 25;
renderer.RenderingOpcjas.MarginBottom = 25;
renderer.RenderingOpcjas.MarginLeft = 19;
renderer.RenderingOpcjas.MarginRight = 19;

// Use print-specific CSS rules and set output DPI
renderer.RenderingOpcjas.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOpcjas.DPI = 300;

// Preserve HTML form elements as interactive PDF form fields
renderer.RenderingOpcjas.CreatePdfFormsFromHtml = true;

var pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>");
pdf.SaveAs("configured-output.pdf");
Imports IronPdf

Dim renderer = New ChromePdfRenderer()

' Set paper dimensions and orientation
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait

' Define margins (values in millimeters)
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 19
renderer.RenderingOptions.MarginRight = 19

' Use print-specific CSS rules and set output DPI
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.DPI = 300

' Preserve HTML form elements as interactive PDF form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>")
pdf.SaveAs("configured-output.pdf")
$vbLabelText   $csharpLabel

Przeglądarka plików PDF wyświetlająca dokument o niestandardowym układzie z odpowiednim formatowaniem, nagłówkami i sekcjami treści o ustrukturyzowanej zawartości, demonstrująca różne opcje dostosowywania plików PDF oraz profesjonalny wygląd dokumentu

Poniższa tabela zawiera podsumowanie kluczowych opcji renderowania i ich wpływu na wynik:

Typowe opcje renderowania IronPDF
Opcja Cel Przykładowa wartość
PaperSize Ustawia wymiary papieru (Letter, A4, Legal itp.) PdfPaperSize.A4
MarginTop / MarginBottom Ustawia marginesy strony w milimetrach 25
DPI Rozdzielczość wyjściowa — wyższe wartości zapewniają lepszą jakość druku 300
CssMediaType Wybór między regułami CSS dla ekranu i PRINT PdfCssMediaType.PRINT
Włącz JavaScript Włącza lub wyłącza wykonywanie JavaScript podczas renderowania true
CreatePdfFormsFromHtml Konwertuje elementy formularzy HTML na interaktywne formularze PDF true
WaitFor.RenderDelay Dodaje opóźnienie przed przechwyceniem, aby umożliwić wykonanie kodu JS 500 (ms)

Pełny wykaz dostępnych opcji znajduje się w przewodniku po opcjach renderowania. Powiązane przewodniki dotyczą obsługi responsywnego CSS oraz kontroli podziałów stron w przypadku typowych wyzwań związanych z układem strony.

Jak generować pliki PDF w ASP.NET Core MVC?

W ASP.NET Core MVC zwracasz plik PDF bezpośrednio z akcji kontrolera za pomocą File(). Schemat polega na przekształceniu wewnętrznego adresu URL lub ciągu HTML na obiekt PdfDocument, a następnie zwróceniu jego danych binarnych z typem MIME application/pdf.

Zwracanie pliku PDF z akcji kontrolera

Poniższy przykład wyświetla adres URL raportu wewnętrznego i zwraca wynik w postaci pliku do pobrania. Dokumentacja Microsoft ASP.NET Core MVC szczegółowo omawia podstawową klasę Controller oraz typ zwracanej wartości File():

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class ReportsController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOpcjas.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
        renderer.RenderingOpcjas.MarginTop = 20;
        renderer.RenderingOpcjas.MarginBottom = 20;

        // Add a text footer with page numbers
        renderer.RenderingOpcjas.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page} of {total-pages}",
            FontSize = 9
        };

        // Build the URL to the internal report page and render it
        string reportUrl = $"{Request.Scheme}://{Request.Host}/reports/quarterly";
        var pdf = renderer.RenderUrlAsPdf(reportUrl);

        return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class ReportsController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOpcjas.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
        renderer.RenderingOpcjas.MarginTop = 20;
        renderer.RenderingOpcjas.MarginBottom = 20;

        // Add a text footer with page numbers
        renderer.RenderingOpcjas.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page} of {total-pages}",
            FontSize = 9
        };

        // Build the URL to the internal report page and render it
        string reportUrl = $"{Request.Scheme}://{Request.Host}/reports/quarterly";
        var pdf = renderer.RenderUrlAsPdf(reportUrl);

        return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class ReportsController
    Inherits Controller

    Public Function GeneratePdf() As IActionResult
        Dim renderer As New ChromePdfRenderer()

        renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20

        ' Add a text footer with page numbers
        renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
            .CenterText = "Page {page} of {total-pages}",
            .FontSize = 9
        }

        ' Build the URL to the internal report page and render it
        Dim reportUrl As String = $"{Request.Scheme}://{Request.Host}/reports/quarterly"
        Dim pdf = renderer.RenderUrlAsPdf(reportUrl)

        Return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

PDF viewer displaying a quarterly sales report for Q3 2025 with a detailed data table showing four products with quantities and unit prices totaling $18,765.30, demonstrating professional report formatting with proper headers

W przypadku renderowania widoków Razor zobacz konwersję CSHTML do PDF oraz renderowanie widoków Razor bez HTTP. Jeśli Twoja aplikacja obsługuje duże ilości żądań dotyczących plików PDF, zapoznaj się z asynchronicznym generowaniem plików PDF, aby poznać wzorce generowania bez blokowania, które zapewniają responsywność aplikacji pod obciążeniem.

Jakie funkcje bezpieczeństwa i zgodności obsługuje IronPDF?

Oprócz podstawowego generowania plików PDF, IronPDF zawiera zestaw funkcji dla organizacji, które wymagają zabezpieczenia dokumentów, długoterminowej archiwizacji lub zgodności z wymogąmi dostępności. Są one szczególnie istotne w przypadku aplikacji finansowych, medycznych, prawnych i rządowych, gdzie dokumenty muszą spełniać określone normy regulacyjne.

Bezpieczeństwo dokumentów

Ochrona hasłem i uprawnienia dają Ci kontrolę nad tym, kto może otwierać, drukować, edytować lub kopiować treści z Twoich plików PDF. Szczegóły dotyczące konfiguracji można znaleźć w przewodniku dotyczącym uprawnień i haseł.

IronPDF obsługuje podpisywanie cyfrowe za pomocą certyfikatów X.509, w tym podpisy oparte na modułach HSM dla organizacji o rygorystycznych wymaganiach dotyczących zarządzania kluczami. Zapoznaj się z przewodnikiem dotyczącym podpisów cyfrowych.

Zgodność z wymogąmi archiwizacji i dostępności

W celu długoterminowej archiwizacji dokumentów w branżach podlegających regulacjom IronPDF może konwertować standardowe pliki PDF do formatu PDF/A — standardu ISO dla dokumentów archiwalnych.

Aby spełnić wymagania dotyczące dostępności określone w sekcji 508 i WCAG, IronPDF obsługuje generowanie oznaczonych, dostępnych plików PDF zgodnych ze standardem PDF/UA.

Redakcja treści i metadane

Informacje wrażliwe można trwale usunąć za pomocą funkcji redagowania, które eliminują treść bez pozostawiania śladów umożliwiających odzyskanie danych. W przypadku ścieżek audytu i klasyfikacji dokumentów można ustawić autora, datę utworzenia, słowa kluczowe i niestandardowe pola metadanych za pomocą przewodnika po metadanych.

Jak rozpocząć korzystanie z bezpłatnej wersji próbnej?

IronPDF jest dostępny z bezpłatną licencją próbną, która obejmuje wszystkie funkcje opisane w tym przewodniku — generowanie plików PDF, zabezpieczenia, nagłówki i stopki oraz funkcje zapewniające zgodność z przepisami. Do rozpoczęcia testów nie jest wymagana karta kredytowa.

Aby zapoznać się z dodatkowymi możliwościami, przejrzyj kompletną Dokumentację API oraz bibliotekę przykładów kodu zawierającą praktyczne implementacje obejmujące najczęstsze scenariusze związane z plikami PDF. Przewodnik szybkiego startu stanowi konkretny punkt wyjścia, jeśli jest to Twój pierwszy projekt z wykorzystaniem IronPDF.

W przypadku wdrożeń produkcyjnych warto rozważyć kompresję plików PDF w celu zmniejszenia rozmiarów plików, łączenie i dzielenie plików PDF w celu zarządzania dokumentami oraz funkcje OCR za pośrednictwem IronOCR do wyodrębniania tekstu ze skanowanych dokumentów. Wszystkie produkty Iron Software mają kompatybilne licencje i mogą być używane razem w tej samej aplikacji.

Często Zadawane Pytania

Jak przekonwertować stronę internetową do formatu PDF w ASP.NET?

Możesz użyć IronPDF, biblioteki .NET, do konwersji stron internetowych do formatu PDF w aplikacjach ASP.NET. Pozwala ona generować profesjonalne pliki PDF z treści HTML za pomocą zaledwie kilku linii kodu C#.

Jakie są typowe przypadki użycia konwersji HTML do PDF w ASP.NET?

Typowe zastosowania obejmują generowanie raportów, tworzenie faktur oraz udostępnianie treści do pobrania w formacie PDF ze stron internetowych w ramach aplikacji ASP.NET.

Czy IronPDF nadaje się do tworzenia profesjonalnych plików PDF?

Tak, IronPDF został zaprojektowany do konwersji HTML i stron internetowych na wysokiej jakości, profesjonalne dokumenty PDF, dzięki czemu nadaje się do zastosowań biznesowych i Enterprise.

Jak łatwo jest używać IronPDF w aplikacji ASP.NET?

IronPDF jest bardzo przyjazny dla użytkownika. Pozwala programistom konwertować HTML na PDF przy użyciu minimalnej ilości kodu, co ułatwia integrację z istniejącymi aplikacjami ASP.NET.

Czy IronPDF radzi sobie ze złożonymi stronami internetowymi z CSS i JavaScript?

Tak, IronPDF może przetwarzać złożone strony internetowe zawierające CSS i JavaScript, zapewniając, że wynikowy plik PDF zachowa wygląd i styl oryginalnej strony internetowej.

Czy za pomocą IronPDF można zautomatyzować generowanie plików PDF ze stron internetowych?

Oczywiście. IronPDF można zintegrować z automatycznymi procesami roboczymi w celu programowego generowania plików PDF ze stron internetowych w aplikacjach ASP.NET.

Czy IronPDF obsługuje bezpośrednią konwersję plików HTML do formatu PDF?

Tak, IronPDF pozwala konwertować nie tylko strony internetowe, ale także lokalne pliki HTML bezpośrednio na dokumenty PDF.

Jaki język programowania jest używany w IronPDF do konwersji plików PDF?

IronPDF wykorzystuje język C# do konwersji HTML i stron internetowych do formatu PDF w aplikacjach ASP.NET.

Czy IronPDF umożliwia generowanie plików PDF na podstawie dynamicznych treści internetowych?

Tak, IronPDF obsługuje dynamiczne treści internetowe, zapewniając, że wygenerowane pliki PDF odzwierciedlają najnowszą wersję strony internetowej w momencie konwersji.

Jakie są zalety korzystania z IronPDF do konwersji HTML na PDF?

IronPDF zapewnia solidny i prosty sposób konwersji HTML do PDF, oferując takie korzyści, jak łatwość obsługi, wysokiej jakości wyniki, obsługa złożonych układów oraz możliwości automatyzacji.

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

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie