IRONSOFTWAREHOME
KORZYSTANIE Z IRONPDF

Jak analizować dane z dokumentów PDF

Curtis Chau
Curtis Chau
Updated: 18 stycznia 2026

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!");
        }
    }
}

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}");
    }
}

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}");
    }
}

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!");
    }
}

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";

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.

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ęczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta