Konwerter HTML na PDF C# Open Source (Porównanie bibliotek .NET)
Konwersja HTML do PDF jest częstym wymaganiem w wielu aplikacjach, takich jak generowanie raportów, faktur lub zapisywanie stron internetowych jako plików PDF. W tym artykule przyjrzymy się trzem popularnym bibliotekom open source do konwersji HTML na PDF w języku C#, omówimy ich mocne strony i ograniczenia oraz wyjaśnimy, dlaczego IronPDF jest lepszą alternatywą w wielu przypadkach.
Konwerter HTML na PDF C# open source
1. PuppeteerSharp

PuppeteerSharp to nakładka .NET dla Puppeteer, bezinterfejsowej przeglądarki opartej na silniku Chromium. Umożliwia programistom konwersję dokumentów HTML do formatu PDF dzięki wykorzystaniu silnika renderującego Chromium.
PuppeteerSharp zapewnia precyzyjną kontrolę nad procesem renderowania. Oto przykład:
using PuppeteerSharp;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// Download Chromium to ensure compatibility with PuppeteerSharp
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);
// Launch a headless instance of Chromium browser
using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
{
// Open a new browser page
var page = await browser.NewPageAsync();
// Set the HTML content for the page
await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");
// Generate a PDF from the rendered HTML content
await page.PdfAsync("output.pdf");
Console.WriteLine("PDF Generated Successfully!");
}
}
}
using PuppeteerSharp;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// Download Chromium to ensure compatibility with PuppeteerSharp
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);
// Launch a headless instance of Chromium browser
using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
{
// Open a new browser page
var page = await browser.NewPageAsync();
// Set the HTML content for the page
await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");
// Generate a PDF from the rendered HTML content
await page.PdfAsync("output.pdf");
Console.WriteLine("PDF Generated Successfully!");
}
}
}
Imports PuppeteerSharp
Imports System.Threading.Tasks
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
' Download Chromium to ensure compatibility with PuppeteerSharp
Await (New BrowserFetcher()).DownloadAsync(BrowserFetcher.DefaultChromiumRevision)
' Launch a headless instance of Chromium browser
Using browser = Await Puppeteer.LaunchAsync(New LaunchOptions With {.Headless = True})
' Open a new browser page
Dim page = Await browser.NewPageAsync()
' Set the HTML content for the page
Await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>")
' Generate a PDF from the rendered HTML content
Await page.PdfAsync("output.pdf")
Console.WriteLine("PDF Generated Successfully!")
End Using
End Function
End Class
Wyjaśnienie kodu
-
Pobierz Chromium: PuppeteerSharp automatycznie pobiera wymaganą wersję Chromium, aby zapewnić kompatybilność.
-
Uruchom przeglądarkę: Uruchom instancję Chromium bez interfejsu użytkownika za pomocą
Puppeteer.LaunchAsync(). -
Ustaw zawartość HTML: Załaduj żądany kod HTML na stronę przeglądarki za pomocą
page.SetContentAsync(). - Generowanie pliku PDF: Użyj metody
page.PdfAsync(), aby wygenerować plik PDF z wyrenderowaną treścią.
Wynikiem jest wysokiej jakości plik PDF (output.pdf), który dokładnie odzwierciedla strukturę i wygląd HTML.
Zalety
- Wysoka wierność renderowania: Obsługuje nowoczesne technologie internetowe, w tym zaawansowane CSS i JavaScript.
- Możliwości automatyzacji: Oprócz plików PDF, PuppeteerSharp może zautomatyzować przeglądanie stron internetowych, testowanie i pozyskiwanie danych.
- Aktywny rozwój: PuppeteerSharp jest aktywnie utrzymywany i regularnie aktualizowany.
Wady
- Duży rozmiar pliku: Wymaga pobrania i dołączenia przeglądarki Chromium, co zwiększa rozmiar wdrożenia.
- Wymagające dużych zasobów: Uruchomienie instancji przeglądarki może być obciążające dla zasobów systemowych, zwłaszcza w przypadku aplikacji na dużą skalę.
- Ograniczone funkcje związane z plikami PDF: PuppeteerSharp koncentruje się na renderowaniu, a nie na ulepszaniu plików PDF (np. dodawaniu nagłówków lub stopek).
2. PdfSharp

PdfSharp to potężna biblioteka open source do tworzenia i edycji plików PDF w języku C#. Chociaż nie obsługuje bezpośrednio renderowania HTML, doskonale sprawdza się w dostarczaniu programistom narzędzi do programowego generowania i edycji dokumentów PDF.
Najważniejsze cechy PdfSharp
-
Tworzenie plików PDF: PdfSharp pozwala programistom generować nowe pliki PDF od podstaw poprzez definiowanie rozmiarów stron, dodawanie tekstu, kształtów, obrazów i innych elementów.
-
Modyfikacja istniejących plików PDF: Można modyfikować istniejące dokumenty PDF, np. łączyć je, dzielić lub wyodrębniać zawartość.
-
Możliwości rysowania: PdfSharp zapewnia rozbudowane możliwości graficzne umożliwiające dodawanie niestandardowych projektów do plików PDF przy użyciu klasy XGraphics.
- Lekkość: Jest to lekka biblioteka, co czyni ją idealną do projektów, w których priorytetami są prostota i szybkość.
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;
class Program
{
static void Main(string[] args)
{
// Example HTML content
string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";
// Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(htmlContent);
// Create a new PDF document
PdfDocument pdfDocument = new PdfDocument
{
Info = { Title = "HTML to PDF Example" }
};
// Add a new page to the document
PdfPage page = pdfDocument.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);
// Draw the parsed HTML content
int yPosition = 50; // Starting Y position
foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
{
if (node.Name == "h1")
{
gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
yPosition += 30; // Adjust spacing
}
else if (node.Name == "p")
{
gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
yPosition += 20; // Adjust spacing
}
}
// Save the PDF document
string outputFilePath = "HtmlToPdf.pdf";
pdfDocument.Save(outputFilePath);
System.Console.WriteLine($"PDF file created: {outputFilePath}");
}
}
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;
class Program
{
static void Main(string[] args)
{
// Example HTML content
string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";
// Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(htmlContent);
// Create a new PDF document
PdfDocument pdfDocument = new PdfDocument
{
Info = { Title = "HTML to PDF Example" }
};
// Add a new page to the document
PdfPage page = pdfDocument.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);
// Draw the parsed HTML content
int yPosition = 50; // Starting Y position
foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
{
if (node.Name == "h1")
{
gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
yPosition += 30; // Adjust spacing
}
else if (node.Name == "p")
{
gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
yPosition += 20; // Adjust spacing
}
}
// Save the PDF document
string outputFilePath = "HtmlToPdf.pdf";
pdfDocument.Save(outputFilePath);
System.Console.WriteLine($"PDF file created: {outputFilePath}");
}
}
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports HtmlAgilityPack
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Example HTML content
Dim htmlContent As String = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>"
' Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
Dim htmlDoc = New HtmlDocument()
htmlDoc.LoadHtml(htmlContent)
' Create a new PDF document
Dim pdfDocument As New PdfDocument With {
.Info = { Title = "HTML to PDF Example" }
}
' Add a new page to the document
Dim page As PdfPage = pdfDocument.AddPage()
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
Dim titleFont As New XFont("Arial", 20, XFontStyle.Bold)
Dim textFont As New XFont("Arial", 12, XFontStyle.Regular)
' Draw the parsed HTML content
Dim yPosition As Integer = 50 ' Starting Y position
For Each node In htmlDoc.DocumentNode.SelectNodes("//h1 | //p")
If node.Name = "h1" Then
gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, New XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft)
yPosition += 30 ' Adjust spacing
ElseIf node.Name = "p" Then
gfx.DrawString(node.InnerText, textFont, XBrushes.Black, New XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft)
yPosition += 20 ' Adjust spacing
End If
Next node
' Save the PDF document
Dim outputFilePath As String = "HtmlToPdf.pdf"
pdfDocument.Save(outputFilePath)
System.Console.WriteLine($"PDF file created: {outputFilePath}")
End Sub
End Class
Wyjaśnienie kodu
-
Analiza HTML: W przykładzie wykorzystano HtmlAgilityPack (bibliotekę open source do analizy i manipulacji kodem HTML) w celu wyodrębnienia treści tekstowej z tagów
<h1>i<p>. -
Renderowanie treści: Klasa XGraphics biblioteki PdfSharp służy do renderowania przeanalizowanej treści HTML jako tekstu na stronie PDF.
- Ograniczenia: To podejście sprawdza się w przypadku prostych struktur HTML, ale nie radzi sobie ze złożonymi układami, stylami ani JavaScriptem.
Zalety i wady PdfSharp
Zalety
- Lekki i łatwy w użyciu: PdfSharp jest intuicyjny i prosty w obsłudze, co czyni go idealnym rozwiązaniem dla programistów rozpoczynających pracę z generowaniem plików PDF.
- Oprogramowanie typu open source i bezpłatne: brak opłat licencyjnych, a kod źródłowy jest dostępny do dostosowania.
- Rysowanie niestandardowe: Zapewnia doskonałe możliwości tworzenia plików PDF od podstaw z niestandardowymi projektami.
Wady
- Brak konwersji HTML do PDF: PdfSharp nie obsługuje natywnie renderowania HTML do PDF, co wymaga dodatkowych bibliotek do parsowania HTML.
- Ograniczona obsługa nowoczesnych funkcji: Nie zapewnia zaawansowanych możliwości, takich jak interaktywne pliki PDF, podpisy cyfrowe czy adnotacje.
- Ograniczenia wydajnościowe: Mogą nie być tak zoptymalizowane jak Professional Library przeznaczone do aplikacji wielkoskalowych lub Enterprise.
3. Pdfium.NET SDK

Pdfium.NET to kompleksowa biblioteka oparta na projekcie open source PDFium, przeznaczona do przeglądania, edycji i manipulowania plikami PDF w aplikacjach .NET. Zapewnia programistom potężne narzędzia do tworzenia, edytowania i wyodrębniania treści z plików PDF, dzięki czemu nadaje się do szerokiego zakresu zastosowań. Jest to w zasadzie bezpłatna biblioteka do konwersji HTML na PDF.
Najważniejsze funkcje Pdfium.NET SDK
-
Tworzenie i edycja plików PDF:
- Twórz pliki PDF od podstaw lub na podstawie zeskanowanych obrazów.
- Edytuj istniejące pliki PDF, dodając tekst, obrazy lub adnotacje.
-
Wyodrębnianie tekstu i obrazów:
- Wyodrębnianie tekstu i obrazów z dokumentów w formacie PDF w celu dalszego przetwarzania.
- Wyszukiwanie określonego tekstu w dokumencie PDF.
-
Kontrolka przeglądarki plików PDF:
- Osadź samodzielną przeglądarkę plików PDF w aplikacjach WinForms lub WPF.
- Obsługuje powiększanie, przewijanie, zakładki i wyszukiwanie tekstu.
-
Kompatybilność:
- Współpracuje z .NET Framework, .NET Core, .NET Standard i .NET 6+.
- Kompatybilny z platformami Windows i macOS.
- Zaawansowane funkcje:
- Łączenie i dzielenie plików PDF.
- Renderuj pliki PDF jako obrazy do wyświetlania lub drukowania.
using Pdfium.Net.SDK;
using System;
class Program
{
static void Main(string[] args)
{
// Initialize Pdfium.NET SDK functionalities
PdfCommon.Initialize();
// Create a new PDF document
PdfDocument pdfDocument = PdfDocument.CreateNew();
// Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);
// Sample HTML content to be parsed and rendered manually
var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";
// Example: Manually render text since Pdfium.NET doesn't render HTML directly
var font = PdfFont.CreateFont(pdfDocument, "Arial");
page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");
// Save the document to a file
string outputFilePath = "HtmlToPdfExample.pdf";
pdfDocument.Save(outputFilePath, SaveFlags.Default);
Console.WriteLine($"PDF created successfully: {outputFilePath}");
}
}
using Pdfium.Net.SDK;
using System;
class Program
{
static void Main(string[] args)
{
// Initialize Pdfium.NET SDK functionalities
PdfCommon.Initialize();
// Create a new PDF document
PdfDocument pdfDocument = PdfDocument.CreateNew();
// Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);
// Sample HTML content to be parsed and rendered manually
var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";
// Example: Manually render text since Pdfium.NET doesn't render HTML directly
var font = PdfFont.CreateFont(pdfDocument, "Arial");
page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");
// Save the document to a file
string outputFilePath = "HtmlToPdfExample.pdf";
pdfDocument.Save(outputFilePath, SaveFlags.Default);
Console.WriteLine($"PDF created successfully: {outputFilePath}");
}
}
Imports Pdfium.Net.SDK
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize Pdfium.NET SDK functionalities
PdfCommon.Initialize()
' Create a new PDF document
Dim pdfDocument As PdfDocument = PdfDocument.CreateNew()
' Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
Dim page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842)
' Sample HTML content to be parsed and rendered manually
Dim htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>"
' Example: Manually render text since Pdfium.NET doesn't render HTML directly
Dim font = PdfFont.CreateFont(pdfDocument, "Arial")
page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!")
page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.")
' Save the document to a file
Dim outputFilePath As String = "HtmlToPdfExample.pdf"
pdfDocument.Save(outputFilePath, SaveFlags.Default)
Console.WriteLine($"PDF created successfully: {outputFilePath}")
End Sub
End Class
Wyjaśnienie kodu
-
Inicjalizacja SDK: Metoda
PdfCommon.Initialize()inicjalizuje funkcje Pdfium.NET. -
Tworzenie pliku PDF: Nowy dokument PDF jest tworzony przy użyciu
PdfDocument.CreateNew(). -
Dodawanie stron: Strony są wstawiane do pliku PDF o określonych wymiarach (np. format A4).
-
Renderowanie treści HTML: Ponieważ Pdfium.NET SDK nie obsługuje natywnie renderowania HTML, należy ręcznie analizować i renderować elementy HTML jako tekst, kształty lub obrazy.
- Zapisywanie pliku PDF: Dokument jest zapisywany w ścieżce pliku za pomocą metody
Save().
Zalety
- Umożliwia pełną kontrolę nad tworzeniem i edycją plików PDF.
- Elastyczność w rysowaniu oraz dodawaniu tekstu, obrazów i kształtów.
- Zaawansowane możliwości przeglądania i edycji plików PDF w aplikacjach desktopowych.
Wady
- Nie konwertuje bezpośrednio HTML na PDF.
- Ręczne parsowanie i renderowanie kodu HTML może być skomplikowane i czasochłonne.
- Najlepiej nadaje się do aplikacji skupiających się na edycji i obróbce plików PDF, a nie na konwersji HTML.
Przedstawiamy IronPDF

IronPDF to profesjonalna biblioteka przeznaczona dla programistów .NET, umożliwiająca łatwą konwersję treści HTML do wysokiej jakości plików PDF. Znany ze swojej niezawodności, zaawansowanych funkcji i łatwości użytkowania, IronPDF usprawnia proces tworzenia oprogramowania, zapewniając jednocześnie precyzyjne renderowanie i solidną funkcjonalność. Oto dlaczego IronPDF jest rozwiązaniem, które się wyróżnia:
Najważniejsze cechy
-
Bezpośrednia konwersja HTML do PDF: Twórz dokumenty PDF bezpośrednio za pomocą IronPDF z treścią HTML, w tym CSS i JavaScript, do w pełni sformatowanych plików PDF. Za pomocą zaledwie kilku linii kodu programiści mogą generować pliki PDF ze stron internetowych, surowych ciągów HTML lub lokalnych plików HTML.
-
Nowoczesne możliwości renderowania: Obsługując najnowsze standardy internetowe, IronPDF zapewnia dokładne renderowanie złożonych układów, stylów i elementów interaktywnych w celu konwersji stron HTML do formatu PDF.
-
Zaawansowane funkcje PDF: IronPDF oferuje szerokie możliwości dostosowywania, takie jak dodawanie nagłówków, stopek, znaków wodnych, adnotacji i zakładek. Obsługuje również scalanie, dzielenie i edycję istniejących plików PDF.
-
Wydajność i skalowalność: Zoptymalizowany zarówno pod kątem aplikacji na małą skalę, jak i środowisk Enterprise, IronPDF zapewnia szybką i niezawodną wydajność w projektach każdej wielkości.
- Łatwość integracji: Zaprojektowany dla platform .NET Framework i .NET Core, IronPDF płynnie integruje się z aplikacjami C#, oferując programistom prosty proces konfiguracji oraz obszerną dokumentację.
Dlaczego warto wybrać IronPDF?
IronPDF wyróżnia się na tle innych rozwiązań dzięki połączeniu funkcji, wsparcia dla programistów i wydajności. W przeciwieństwie do alternatywnych rozwiązań open source, które często wymagają rozbudowanej konfiguracji lub zewnętrznych zależności, IronPDF jest samodzielnym rozwiązaniem, które upraszcza proces tworzenia oprogramowania bez utraty funkcjonalności. Niezależnie od tego, czy chodzi o generowanie faktur, raportów czy archiwizację treści internetowych, IronPDF zapewnia programistom narzędzia niezbędne do szybkiego i wydajnego osiągania profesjonalnych wyników.
IronPDF to praktyczny wybór dla programistów, którzy cenią sobie niezawodność, skalowalność i łatwość użytkowania w procesach konwersji HTML do PDF.
Jak przekonwertować HTML na PDF za pomocą IronPDF
using IronPdf;
class Program
{
static void Main()
{
// Specify license key
IronPdf.License.LicenseKey = "Your Key";
// Create a new HtmlToPdf object using ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
// Define the HTML string to be converted
string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";
// Convert the HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document to a file
document.SaveAs("html2Pdf.pdf");
Console.WriteLine("PDF generated and saved successfully!");
}
}
using IronPdf;
class Program
{
static void Main()
{
// Specify license key
IronPdf.License.LicenseKey = "Your Key";
// Create a new HtmlToPdf object using ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
// Define the HTML string to be converted
string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";
// Convert the HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document to a file
document.SaveAs("html2Pdf.pdf");
Console.WriteLine("PDF generated and saved successfully!");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
' Specify license key
IronPdf.License.LicenseKey = "Your Key"
' Create a new HtmlToPdf object using ChromePdfRenderer
Dim Renderer = New ChromePdfRenderer()
' Define the HTML string to be converted
Dim htmlContent As String = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>"
' Convert the HTML string to a PDF document
Dim document = Renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF document to a file
document.SaveAs("html2Pdf.pdf")
Console.WriteLine("PDF generated and saved successfully!")
End Sub
End Class
Wyjaśnienie fragmentu kodu
-
Konfiguracja klucza licencyjnego: Program rozpoczyna się od ustawienia klucza licencyjnego IronPDF, który jest wymagany do odblokowania pełnej funkcjonalności biblioteki.
-
Tworzenie renderera: Inicjowana jest instancja
ChromePdfRenderer. Ten komponent odpowiada za konwersję treści HTML do dokumentu PDF, pełniąc rolę pomostu między surowym kodem HTML a końcowym wynikiem. -
Definiowanie treści HTML: Utworzono zmienną typu string,
htmlContent, w celu przechowywania struktury HTML, która zostanie przekonwertowana na plik PDF. W tym przykładzie znajduje się prosty nagłówek. -
Konwersja HTML do PDF: Metoda
RenderHtmlAsPdf()jest wywoływana na instancjiChromePdfRenderer, przekazując ciąg HTML jako dane wejściowe. Ta funkcja przetwarza treść i przekształca ją w dokument PDF. - Zapisywanie pliku PDF: Na koniec wygenerowany plik PDF jest zapisywany jako plik o nazwie "html2Pdf.pdf" przy użyciu metody
SaveAs()i przechowywany na dysku w celu późniejszego dostępu.
Wynik w formacie PDF

Informacje o licencji (dostępna wersja próbna)
Aby korzystać z pełnej funkcjonalności IronPDF, wymagany jest ważny klucz licencyjny. Licencję Trial można uzyskać na oficjalnej stronie internetowej. Przed użyciem biblioteki IronPDF należy ustawić klucz licencyjny w następujący sposób:
IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key"
Gwarantuje to, że biblioteka działa bez ograniczeń.
Wnioski
PuppeteerSharp to doskonały wybór dla programistów, którzy potrzebują precyzyjnego renderowania HTML do formatu PDF, zwłaszcza w przypadku złożonych stron internetowych. Jednak w przypadku aplikacji wymagających zaawansowanych funkcji związanych z plikami PDF, optymalizacji wydajności i łatwości integracji, profesjonalne narzędzia, takie jak IronPDF, są często lepszym rozwiązaniem.
PdfSharp to doskonały wybór do tworzenia i edycji plików PDF w sposób lekki i programowy, szczególnie w przypadku projektów o prostych wymaganiach. Jeśli jednak Twoja aplikacja wymaga konwersji HTML do formatu PDF lub zaawansowanych funkcji PDF, IronPDF zapewnia bardziej wydajne i bogate w funkcje rozwiązanie.
Podczas gdy Pdfium.NET SDK jest solidnym narzędziem do manipulacji plikami PDF, IronPDF zapewnia natywną obsługę bezpośredniej konwersji HTML do PDF, w tym renderowanie nowoczesnego HTML, CSS i JavaScript. IronPDF upraszcza przepływ pracy dzięki wbudowanym metodom, takim jak HtmlToPdf.RenderHtmlAsPdf(), dzięki czemu praca programistów staje się szybsza i bardziej wydajna.
Niezależnie od tego, czy chodzi o generowanie faktur, raportów czy archiwizację treści internetowych, IronPDF zapewnia programistom narzędzia niezbędne do szybkiego i wydajnego osiągania profesjonalnych wyników.
IronPDF to praktyczny wybór dla programistów, którzy cenią sobie niezawodność, skalowalność i łatwość obsługi w procesach konwersji HTML do PDF.
Często Zadawane Pytania
Jak mogę przekonwertować HTML na PDF w języku C#?
Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Dodatkowo biblioteka IronPDF obsługuje konwersję plików HTML bezpośrednio na pliki PDF za pomocą metody RenderHtmlFileAsPdf.
Jakie są zalety korzystania z IronPDF w porównaniu z bibliotekami open source do konwersji plików PDF?
IronPDF oferuje bezpośrednią konwersję HTML do PDF z obsługą nowoczesnych standardów internetowych, zaawansowanych funkcji PDF oraz łatwą integracją z aplikacjami .NET. Stanowi profesjonalne rozwiązanie w porównaniu z alternatywami open source, takimi jak PuppeteerSharp, PdfSharp i Pdfium.NET SDK.
Czy IronPDF radzi sobie ze złożonymi kodami HTML, CSS i JavaScript podczas konwersji do formatu PDF?
Tak, IronPDF obsługuje najnowsze standardy internetowe, zapewniając dokładne renderowanie złożonych układów, stylów i elementów interaktywnych podczas konwersji HTML do PDF.
Co jest potrzebne do korzystania z IronPDF do konwersji HTML na PDF?
Aby korzystać z IronPDF, wymagany jest ważny klucz licencyjny. Programiści mogą uzyskać Licencję Trial z oficjalnej strony internetowej, aby odblokować pełną funkcjonalność.
Co sprawia, że IronPDF jest praktycznym wyborem dla programistów?
IronPDF jest praktycznym rozwiązaniem ze względu na swoją niezawodność, skalowalność, łatwość obsługi oraz solidne funkcje konwersji HTML do PDF. Idealnie nadaje się do wydajnego i skutecznego generowania profesjonalnych plików PDF.
Jakie są ograniczenia związane z użyciem PuppeteerSharp do generowania plików PDF?
PuppeteerSharp wymaga pobrania i dołączenia przeglądarki Chromium, co zwiększa rozmiar pliku i może być bardzo zasobochłonne. Skupia się na renderowaniu, a nie na ulepszaniu plików PDF o dodatkowe funkcje.
Czym różni się Pdfium.NET SDK od IronPDF pod względem konwersji HTML do PDF?
Pdfium.NET SDK nie obsługuje natywnie konwersji HTML do PDF, co wymaga ręcznego renderowania elementów HTML. Natomiast IronPDF zapewnia wbudowane metody bezpośredniej konwersji, upraszczając ten proces.
Czy PdfSharp nadaje się do renderowania złożonych struktur HTML do formatu PDF?
PdfSharp nie obsługuje natywnie konwersji HTML do PDF i może mieć trudności z złożonymi układami, stylami lub JavaScriptem, co wymaga dodatkowych bibliotek do analizowania HTML.
Jakie funkcje oferuje IronPDF do edycji plików PDF?
IronPDF oferuje narzędzia do tworzenia, edycji i wyodrębniania treści z plików PDF. Obsługuje bezpośrednią konwersję HTML do PDF, wyodrębnianie tekstu/obrazów oraz osadzanie przeglądarki PDF w aplikacjach.
Czy IronPDF jest kompatybilny z .NET 10 i jakie korzyści oferuje w przypadku projektów opartych na .NET 10?
Tak — IronPDF jest w pełni kompatybilny z .NET 10. Obsługuje projekty .NET 10 bez konieczności stosowania specjalnych obejść i wykorzystuje ulepszenia środowiska uruchomieniowego, takie jak dewirtualizacja metod interfejsu tablicowego, zwiększona wydajność i zmniejszone zużycie pamięci.
Jakie nowe ulepszenia wprowadza IronPDF w zakresie konwersji HTML do PDF w .NET 10?
W .NET 10 IronPDF oferuje wsparcie „od dnia zero” dla najnowszej wersji, zapewniając pełną kompatybilność z nowym środowiskiem uruchomieniowym. Programiści zyskują krótszy czas uruchamiania, lepsze wykorzystanie pamięci oraz poprawę wydajności renderowania dzięki ulepszeniom w silniku renderowania i silniku JIT w .NET 10.




