UżYWANIE IRON SUITE

Jak HTML do PDF w .NET 10

Konwertowanie treści internetowych do przenośnego formatu dokumentu (PDF) jest częstym wymaganiem dla nowoczesnych aplikacji .NET. Niezależnie od tego, czy trzeba archiwizować strony internetowe, generować faktury, czy dostarczać raporty do pobrania, możliwość szybkiego i niezawodnego przekształcania HTML na PDF jest niezbędna. IronPDF, potężna biblioteka .NET, oferuje solidne możliwości konwersji do PDF, które pozwalają programistom bezpośrednio konwertować HTML, łańcuchy HTML lub całe strony internetowe na w pełni stylizowane dokumenty PDF przy minimalnym kodzie.

Ten przewodnik przeprowadzi cię przez konwersję HTML na PDF w C#, w tym dynamiczne dokumenty, niestandardowe nagłówki i złożone układy, pokazując, jak wydajnie generować PDFy przy użyciu IronPDF.

Dłączego warto używać IronPDF do konwersji HTML na PDF w C

Chociaż dostępnych jest wiele zewnętrznych bibliotek do konwersji HTML na PDF, IronPDF wyróżnia się w ekosystemie .NET z kilku powodów:

  • Łatwo konwertuj treści HTML z plików HTML, łańcuchów HTML lub kodu HTML bezpośrednio do formatu PDF.

  • Edytuj dokumenty PDF, dodaj podpisy cyfrowe i zapisuj pliki PDF w kilku liniach kodu.

  • Renderuj całe strony internetowe z obsługą CSS do druku, określonym renderowaniem URL i planowaniem wierności układu.

  • Generowanie PDFów na dużą skalę z dynamiczną zawartością przy użyciu metod public static async Task czy synchronicznych API.

  • Działa bezproblemowo z .NET Core, .NET Framework i najnowszą wersją C#.

  • Wspiera integrację API, wiersz poleceń oraz komercyjne przypadki użycia licencji.

Rozpoczęcie: Instalacja IronPDF

Można zainstalować IronPDF przez Menedżer Pakietów NuGet:

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText   $csharpLabel

Po zainstalowaniu można natychmiast rozpocząć tworzenie dokumentów PDF z zawartości HTML lub stron internetowych.

Prosta konwersja HTML na PDF

Oto jak przekształcić HTML na PDF w zaledwie kilku liniach:

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        // Your HTML content
        string html = "<h1>Welcome to IronPDF</h1><p>This is a generated PDF document.</p>";

        // Convert HTML string to PDF
        var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(html);

        // Save PDF
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF generated successfully!");
    }
}
using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        // Your HTML content
        string html = "<h1>Welcome to IronPDF</h1><p>This is a generated PDF document.</p>";

        // Convert HTML string to PDF
        var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(html);

        // Save PDF
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF generated successfully!");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main(args As String())
        ' Your HTML content
        Dim html As String = "<h1>Welcome to IronPDF</h1><p>This is a generated PDF document.</p>"

        ' Convert HTML string to PDF
        Dim pdf = New ChromePdfRenderer().RenderHtmlAsPdf(html)

        ' Save PDF
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF generated successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

W tym pierwszym przykładzie bierzemy prosty łańcuch HTML i zamieniamy go w dokument PDF. using IronPdf; linia wprowadza bibliotekę IronPDF, dając nam dostęp do potężnych możliwości konwersji HTML na PDF. Definiujemy nasz zawartość HTML w postaci łańcucha, który może być tak prosta jak nagłówek i akapit lub cały złożony kod HTML.

Używając RenderHtmlAsPdf, IronPDF przekształca HTML do w pełni sformatowanego PDFa. W koncu SaveAs zapisuje PDF na dysku, a my drukujemy potwierdzenie. To jest wspaniały przykład tego, jak można wygenerować PDF w kilku liniach kodu bez obawy o zależności od Microsoft Office.

 Przykładowy wynik konwersji ciągu HTML na PDF

Konwersja pliku HTML lub strony internetowej

IronPDF pozwala także na konwersję całych stron internetowych lub lokalnych plików HTML na dokumenty PDF:

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // Optional settings
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
        renderer.RenderingOptions.WaitFor.RenderDelay(3000);

        var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        pdf.SaveAs("wikipedia.pdf");

    }
}
using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // Optional settings
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
        renderer.RenderingOptions.WaitFor.RenderDelay(3000);

        var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        pdf.SaveAs("wikipedia.pdf");

    }
}
Imports IronPdf

Class Program
    Shared Sub Main(args As String())
        Dim renderer = New ChromePdfRenderer()

        ' Optional settings
        renderer.RenderingOptions.EnableJavaScript = True
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
        renderer.RenderingOptions.WaitFor.RenderDelay(3000)

        Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
        pdf.SaveAs("wikipedia.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Ten przykład pokazuje, jak przekształcić aktywną stronę internetową na PDF przy użyciu renderera opartego na Chromium w IronPDF. Włączymy JavaScript dla dynamicznej treści, zastosujemy CSS do druku dla właściwego układu i dodamy krótkie opóźnienie renderowania, aby upewnić się, że wszystko się załaduje. Na koniec, strona jest konwertowana do wysokiej jakości PDF i zapisywana jako wikipedia.pdf. Ta metoda jest idealna do archiwizacji treści internetowych lub szybkiego i pewnego tworzenia PDFów ze złożonych stron.

 Przykładowy wynik konwersji URL na PDF

Zaawansowane funkcje dla deweloperów

IronPDF oferuje szerokie możliwości konwersji PDF dla dynamicznych dokumentów:

  • Niestandardowe nagłówki i stopki

  • Własne szablony dla powtarzających się dokumentów

  • Renderowanie dynamicznej zawartości za pomocą ciągów HTML

  • Archiwizacja treści internetowej do celów prawnych lub audytowych

  • Podpisy cyfrowe dla przenośnego formatu dokumentów

  • Generowanie PDFów na dużą skalę dla operacji wsadowych

Przykład: Dodawanie niestandardowych nagłówków

var renderer = new ChromePdfRenderer();

// Optional settings
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    MaxHeight = 50,
    HtmlFragment = "<div style='width:100%; text-align:center; font-size:14px;'>Custom Header</div>",
    DrawDividerLine = true
};

var document = renderer.RenderHtmlAsPdf("<p>Dynamic HTML content</p>");
document.SaveAs("customHeader.pdf");
var renderer = new ChromePdfRenderer();

// Optional settings
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    MaxHeight = 50,
    HtmlFragment = "<div style='width:100%; text-align:center; font-size:14px;'>Custom Header</div>",
    DrawDividerLine = true
};

var document = renderer.RenderHtmlAsPdf("<p>Dynamic HTML content</p>");
document.SaveAs("customHeader.pdf");
Dim renderer = New ChromePdfRenderer()

' Optional settings
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .MaxHeight = 50,
    .HtmlFragment = "<div style='width:100%; text-align:center; font-size:14px;'>Custom Header</div>",
    .DrawDividerLine = True
}

Dim document = renderer.RenderHtmlAsPdf("<p>Dynamic HTML content</p>")
document.SaveAs("customHeader.pdf")
$vbLabelText   $csharpLabel

W wielu przypadkach chcesz czegoś więcej niż tylko PDF, chcesz, żeby wyglądał profesjonalnie. Tutaj, korzystamy z klasy HtmlHeaderFooter aby stworzyć niestandardowy nagłówek dla naszego dokumentu PDF. Możesz to wykorzystać do łatwego dodawania elementów takich jak branding, numery stron i więcej do dokumentów PDF. Wszystko to w zaledwie kilku prostych wierszach kodu.

 Przykładowy PDF z niestandardowym nagłówkiem

Integracja API i asynchroniczne generowanie PDF

Dla aplikacji www, można generować PDFy dynamicznie przy użyciu metod public static async Task:

public static async Task GeneratePdfAsync(string htmlContent)
 {
     var pdfDocument = await new ChromePdfRenderer().RenderHtmlAsPdfAsync(htmlContent);
     pdfDocument.SaveAs("async_output.pdf");
 }
public static async Task GeneratePdfAsync(string htmlContent)
 {
     var pdfDocument = await new ChromePdfRenderer().RenderHtmlAsPdfAsync(htmlContent);
     pdfDocument.SaveAs("async_output.pdf");
 }
Imports System.Threading.Tasks

Public Module PdfGenerator
    Public Async Function GeneratePdfAsync(htmlContent As String) As Task
        Dim pdfDocument = Await (New ChromePdfRenderer()).RenderHtmlAsPdfAsync(htmlContent)
        pdfDocument.SaveAs("async_output.pdf")
    End Function
End Module
$vbLabelText   $csharpLabel

Wskazówki dotyczące wysokowierności konwersji HTML na PDF

  1. Zawsze dołączaj CSS do druku, aby zapewnić zamierzony układ w wynikowym PDF.

  2. Używaj dynamicznych ciągów HTML do generowania PDFów na żądanie dla raportów lub faktur.

  3. Wykorzystaj silnik renderowania IronPDF do złożonych układów z tabelami, obrazami i formularzami.

  4. Manipuluj dokumentami PDF po konwersji, aby dodać metadane, podpisy cyfrowe lub adnotacje.

  5. Testuj generowanie PDFów na dużą skalę z wieloma stronami HTML, aby zweryfikować wydajność i niezawodność.

Konkurenci: Eksplorowanie alternatyw dla IronPDF

Podczas gdy IronPDF jest solidnym i pełnym funkcji rozwiązaniem do konwersji HTML na PDF w C#, istnieje kilka alternatyw, które programiści mogą rozważyć w zależności od wymagań projektu.

Jedną z godnych uwagi opcji jest QuestPDF, open-source'owa biblioteka skoncentrowana na tworzeniu dokumentów PDF od podstaw za pomocą płynnego podejścia opartego na kodzie. Chociaż QuestPDF doskonale radzi sobie z generowaniem dynamicznych, programowo zorganizowanych PDFów, mniej nadaje się do konwersji złożonej treści HTML lub całych stron internetowych, szczególnie tych, które polegają na JavaScript lub zaawansowanym CSS. To sprawia, że IronPDF jest prostszym wyborem, gdy trzeba bezpośrednio przekształcić ciągi HTML, pliki lub działające strony internetowe w profesjonalne PDFy.

Inne zewnętrzne biblioteki w ekosystemie .NET obejmują narzędzia takie jak SelectPdf, DinkToPdf i PuppeteerSharp. SelectPdf i DinkToPdf zapewniają możliwości konwersji HTML na PDF z różnym poziomem wsparcia dla CSS i JavaScript, podczas gdy PuppeteerSharp używa headless engine Chromium do dokładnego renderowania stron internetowych. Każda biblioteka ma swoje kompromisy pod względem wydajności, wierności renderowania, licencjonowania i prostoty API.

Dla szczegółowego porównania bibliotek HTML do PDF w C# i alternatyw dla IronPDF, w tym rozbicia funkcjonalności, przykładów kodu i przypadków użycia, zapoznaj się z tym artykułem: QuestPDF i inne alternatywy HTML do PDF dla deweloperów .NET.

Wnioski

Z IronPDF, konwersja HTML na PDF w C# staje się prosta, niezawodna i elastyczna. Niezależnie od tego, czy konwertujesz ciągi HTML, pliki HTML, czy całe strony internetowe, solidne metody IronPDF pozwalają na tworzenie dokumentów PDF ze złożonymi układami, dynamiczną treścią i minimalnym kodem.

Jego integracja z bibliotekami .NET, wsparcie API i opcje licencji komercyjnej sprawiają, że jest to doskonały wybór dla deweloperów, którzy chcą wdrożyć generowanie PDFów w projektach .NET Core lub .NET Framework.

Rozpocznij eksplorację IronPDF już dziś dzięki bezpłatnej wersji próbnej i przekształcaj zawartość HTML w PDFy bez wysiłku. Pobierz najnowszą wersję przez Menedżer Pakietów NuGet i twórz dokumenty PDF w zaledwie kilku liniach kodu.