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

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

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")
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.

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
Wskazówki dotyczące wysokowierności konwersji HTML na PDF
-
Zawsze dołączaj CSS do druku, aby zapewnić zamierzony układ w wynikowym PDF.
-
Używaj dynamicznych ciągów HTML do generowania PDFów na żądanie dla raportów lub faktur.
-
Wykorzystaj silnik renderowania IronPDF do złożonych układów z tabelami, obrazami i formularzami.
-
Manipuluj dokumentami PDF po konwersji, aby dodać metadane, podpisy cyfrowe lub adnotacje.
- 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.