Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

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

Konwerter HTML na PDF w języku C# – oprogramowanie open source (porównanie bibliotek .NET): Rysunek 1

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
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Pobierz Chromium: PuppeteerSharp automatycznie pobiera wymaganą wersję Chromium, aby zapewnić kompatybilność.

  2. Uruchom przeglądarkę: Uruchom instancję Chromium bez interfejsu użytkownika za pomocą Puppeteer.LaunchAsync().

  3. Ustaw zawartość HTML: Załaduj żądany kod HTML na stronę przeglądarki za pomocą page.SetContentAsync().

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

Konwerter HTML na PDF w języku C# – oprogramowanie open source (porównanie bibliotek .NET): Rysunek 2

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

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

  2. Modyfikacja istniejących plików PDF: Można modyfikować istniejące dokumenty PDF, np. łączyć je, dzielić lub wyodrębniać zawartość.

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

  4. 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
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

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

  2. Renderowanie treści: Klasa XGraphics biblioteki PdfSharp służy do renderowania przeanalizowanej treści HTML jako tekstu na stronie PDF.

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

Konwerter HTML na PDF w języku C# typu open source (porównanie bibliotek .NET): Rysunek 3

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

  1. 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.
  2. 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.
  3. 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.
  4. Kompatybilność:

    • Współpracuje z .NET Framework, .NET Core, .NET Standard i .NET 6+.
    • Kompatybilny z platformami Windows i macOS.
  5. 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
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Inicjalizacja SDK: Metoda PdfCommon.Initialize() inicjalizuje funkcje Pdfium.NET.

  2. Tworzenie pliku PDF: Nowy dokument PDF jest tworzony przy użyciu PdfDocument.CreateNew().

  3. Dodawanie stron: Strony są wstawiane do pliku PDF o określonych wymiarach (np. format A4).

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

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

Konwerter HTML na PDF w języku C# typu open source (porównanie bibliotek .NET): Rysunek 4

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

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

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

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

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

  5. Ł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
$vbLabelText   $csharpLabel

Wyjaśnienie fragmentu kodu

  1. Konfiguracja klucza licencyjnego: Program rozpoczyna się od ustawienia klucza licencyjnego IronPDF, który jest wymagany do odblokowania pełnej funkcjonalności biblioteki.

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

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

  4. Konwersja HTML do PDF: Metoda RenderHtmlAsPdf() jest wywoływana na instancji ChromePdfRenderer, przekazując ciąg HTML jako dane wejściowe. Ta funkcja przetwarza treść i przekształca ją w dokument PDF.

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

Konwerter HTML na PDF w języku C# – oprogramowanie open source (porównanie bibliotek .NET): Rysunek 5

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"
$vbLabelText   $csharpLabel

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.

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