Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

Jak wyświetlić PDF z tablicy bajtów w Blazor

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 artykułe 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.

HTML do konwertera PDF C# open source

1. PuppeteerSharp

Konwerter HTML do PDF C# 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. Uruchomienie przeglądarki: Uruchom bezgłową instancję Chromium przy użyciu Puppeteer.LaunchAsync().

  3. Ustawienie zawartości HTML: Załaduj żądany HTML do strony przeglądarki używając page.SetContentAsync().

  4. Generowanie PDF: Użyj metody page.PdfAsync(), aby wygenerować PDF z wyrenderowanej zawartości.

Rezultatem jest wysokiej jakości PDF (output.pdf), który dokładnie odtwarza strukturę i design 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 do PDF C# Open Source (Porównanie bibliotek .NET): Rysunek 2

PDFSharp to potężna biblioteka open-source do tworzenia i manipulacji plikami PDF w 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.

Kluczowe Cechy PDFSharp

  1. Tworzenie PDF: PDFSharp pozwala deweloperom generować nowe pliki PDF od zera poprzez definiowanie rozmiarów stron, dodawanie tekstu, kształtów, obrazów i więcej.

  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 solidne możliwości graficzne w celu dodawania własnych 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. Parsowanie HTML: Przykład używa HtmlAgilityPack (biblioteki open-source do parsowania i manipulacji HTML), aby wydobyć treść z tagów <h1> i <p>.

  2. Rysowanie Treści: Klasa XGraphics PDFSharp jest używana do renderowania przeanalizowanej zawartości HTML jako tekst 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 dla deweloperów zaczynających pracę z generowaniem 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, wymagając 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 do PDF C# 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 Edytowanie 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. Wydobywanie 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. Kontrola Przeglądarki PDF:

    • Osadź samodzielną przeglądarkę plików PDF w aplikacjach WinForms lub WPF.
    • Obsługuje powiększanie, przewijanie, zakładki i wyszukiwanie tekstu.
  4. Zgodność:

    • 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 PDF: Nowy dokument PDF jest tworzony za pomocą 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 PDF: Dokument jest zapisywany w ścieżce pliku przy użyciu 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 do PDF C# 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ż scałanie, 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: Inicjalizowana 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 zawartości HTML: Tworzona jest zmienna string, htmlContent, przechowująca strukturę HTML, która zostanie przekonwertowana na PDF. W tym przykładzie znajduje się prosty nagłówek.

  4. Konwersja HTML do PDF: Wywoływana jest metoda RenderHtmlAsPdf() na instancji ChromePdfRenderer, przekazując string HTML jako wejście. Ta funkcja przetwarza treść i przekształca ją w dokument PDF.

  5. Zapisywanie PDF: Na koniec wygenerowany PDF jest zapisywany do pliku o nazwie "html2Pdf.pdf" przy użyciu metody SaveAs(), przechowując go na dysku do przyszłego dostępu.

Wynik w formacie PDF

Konwerter HTML do PDF C# 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 jest doskonałym wyborem do lekkiego, programistycznego tworzenia i manipulacji PDF, zwłaszcza do 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(), czyniąc to szybszym i bardziej efektywnym dla deweloperów.

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

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie