IRONSOFTWAREHOME

Iron Suite for .NET

10 bibliotek .NET. Jeden kompletny pakiet dokumentów.

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
UŻYWANIE IRON SUITE

HTML do PDF w C# dla deweloperów .NET (Kompedium Wiedzy)

Curtis Chau
Curtis Chau
Updated: 4 września 2026

Wprowadzenie

W dzisiejszym świecie opartym na sieci WWW możliwość konwersji treści HTML do dokumentów PDF (Portable Document Format) jest kluczową funkcją wielu aplikacji. Niezależnie od tego, czy chodzi o generowanie plików PDF z raportów, faktur czy archiwizację treści internetowych, konwersja HTML na PDF usprawnia przepływ pracy i zapewnia spójne formatowanie wysokiej jakości plików PDF. Biblioteki takie jak IronPDF oferują przyjazny dla programistów sposób obsługi tej konwersji, wspierając dynamiczne treści, formularze HTML oraz precyzyjne renderowanie CSS i JavaScript.

Dla programistów .NET, użycie odpowiedniego konwertera HTML do PDF wpływa na efektywność, prostotę kodu i jakość generowanych plików PDF. Nowoczesne biblioteki pozwalają programistom na bezpośrednią konwersję ciągów znaków HTML, całych stron internetowych lub plików HTML na renderowane dokumenty PDF za pomocą zaledwie kilku linii kodu, umożliwiając tworzenie dokumentów dynamicznych, niestandardowych nagłówków oraz wersji treści internetowych przeznaczonych do druku.

Czego się nauczysz

W tym przewodniku dowiesz się, jak konwertować HTML na PDF w języku C# przy użyciu kilku bibliotek, oraz poznasz ich możliwości w zakresie konwersji do formatu PDF, w tym manipulowanie dokumentami PDF, formularzami HTML, niestandardowymi marginesami i zabezpieczonymi plikami PDF. W niniejszym artykułe omówimy następujące tematy:

  1. Dlaczego warto porównać narzędzia do konwersji HTML na PDF?
  2. IronPDF: Konwersja HTML do PDF
  3. Aspose: Konwersja HTML do PDF
  4. iText 9: Konwersja HTML do PDF
  5. wkhtmltopdf: Konwersja HTML do PDF
  6. PuppeteerSharp: Konwersja HTML do PDF
  7. Podsumowanie Dlaczego warto wybrać IronPDF?

Na koniec zrozumiesz, dlaczego IronPDF wyróżnia się jako przyjazny dla programistów i wydajny konwerter HTML na PDF. Z pewnością sprawdź nasze inne przewodniki porównawcze, gdzie dokładniej przyglądamy się, jak IronPDF wypada w porównaniu z Aspose.PDF, iText 9, wkhtmltopdf oraz PuppeteerSharp, aby zobaczyć, które rozwiązanie najlepiej pasuje do Twojego projektu i dlaczego IronPDF jest najlepszym wyborem.

Dlaczego warto porównać narzędzia do konwersji HTML na PDF?

Wybór odpowiedniego narzędzia do konwersji HTML na PDF ma kluczowe znaczenie dla zapewnienia, że aplikacja spełnia wymagania dotyczące wydajności, jakości i kosztów. Przy tak wielu dostępnych opcjach, z których każda oferuje inne możliwości konwersji plików PDF, dokładne porównanie pomaga w podjęciu świadomej decyzji. Oto kluczowe kryteria oceny, które należy wziąć pod uwagę:

  • Złożoność integracji: Jak łatwo biblioteka integruje się z istniejącymi projektami .NET, np. dzięki wykorzystaniu menedżera pakietów NuGet do prostej instalacji oraz konfiguracji zakładki integracji API.
  • Prostota kodu: Łatwość pisania i utrzymywania kodu źródłowego, w tym minimalne przykłady kodu, takie jak zaledwie kilka wierszy do konwersji ciągów HTML lub całych stron internetowych na wygenerowane dokumenty PDF.
  • Dokładność renderowania: Zdolność silnika renderującego do dokładnego przetwarzania kodu HTML, wykonywania kodu JavaScript, drukowania CSS, formularzy HTML i innych treści dynamicznych przy jednoczesnym tworzeniu plików PDF o wysokiej jakości.
  • Wydajność przy dużym obciążeniu: Jak dobrze konwerter PDF radzi sobie przy dużym obciążeniu podczas generowania plików PDF z wielu stron HTML lub treści dynamicznych.
  • Licencjonowanie i opłacalność: modele cenowe, takie jak licencja komercyjna, oraz dopasowanie do budżetu projektu.

Oceniając te czynniki, programiści mogą wybrać narzędzie, które spełnia zarówno wymagania techniczne, jak i ograniczenia finansowe, niezależnie od tego, czy pracują nad projektami .NET Core, czy .NET Framework w Visual Studio.

IronPDF: Konwersja HTML do PDF

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 1

IronPDF to w pełni funkcjonalna biblioteka .NET zaprojektowana specjalnie dla programistów. Zapewnia gotowe metody konwertowania HTML ze stringów, lokalnych plików i aktywnych URL-ów do PDF-ów przy minimalnej konfiguracji. Silnik renderujący oparty na Chrome zapewnia wysoką dokładność, w tym obsługę CSS i JavaScript. IronPDF jest produktem komercyjnym, ale oferuje solidne wsparcie techniczne i proste w obsłudze API.

Ciąg znaków HTML do pliku PDF

Konwersja HTML z ciągu znaków do formatu PDF jest prosta dzięki IronPDF. To podejście jest idealne do generowania treści dynamicznych lub małych fragmentów kodu HTML.

Przykład:

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
        pdf.SaveAs("output.pdf");
    }
}

Wygenerowany dokument PDF

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 2

Wyjaśnienie:

  1. ChromePdfRenderer: Klasa ChromePdfRenderer jest głównym narzędziem do konwersji HTML do PDF w IronPDF. Jest wstępnie skonfigurowany do obsługi większości przypadków użycia przy minimalnej konfiguracji.
  2. RenderHtmlAsPdf: Ta metoda przyjmuje jako wejście ciąg HTML i generuje dokument PDF.
  3. SaveAs: Wygenerowany PDF jest zapisywany w określonej ścieżce (output.pdf).

Lokalny plik HTML do PDF

W przypadku aplikacji, które wymagają konwersji lokalnego pliku HTML (z zasobami zewnętrznymi, takimi jak CSS lub JavaScript), IronPDF znacznie ułatwia to zadanie.

Przykład:

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
        pdf.SaveAs("report.pdf");
    }
}

Plik HTML wejściowy

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 3

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 4

Wyjaśnienie:

  • RenderHtmlFileAsPdf: Pobiera lokalny plik HTML i konwertuje go do formatu PDF.
  • Automatycznie obsługuje zasoby powiązane, takie jak zewnętrzne pliki CSS i JavaScript.

URL do pliku PDF

IronPDF jest szczególnie wydajny podczas konwersji dynamicznych treści internetowych z adresów URL, w tym stron wykorzystujących JavaScript.

Przykład:

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
        renderer.RenderingOptions.WaitFor.RenderDelay(3000); // Wait up to 3 seconds for JS to load

        PdfDocument pdf = renderer.RenderUrlAsPdf("https://apple.com");
        pdf.SaveAs("url-to-pdf.pdf");
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 5

Wyjaśnienie:

  • RenderUrlAsPdf: Pobiera zawartość adresu URL, w tym elementy renderowane przez JavaScript, i konwertuje ją do formatu PDF.

Werdykt / Kiedy stosować

IronPDF jest idealny dla programistów, którzy potrzebują łatwej integracji API, minimalnego kodu i wsparcia dla manipulacji dokumentami PDF, tworzenia dynamicznych dokumentów, formularzy HTML, niestandardowych nagłówków oraz wersji do druku treści webowych. Idealny do projektów .NET Core lub .NET Framework w Visual Studio.

Aspose: Konwersja HTML do PDF

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 6

Aspose.PDF to kolejna potężna biblioteka do manipulacji plikami PDF, obsługująca konwersję HTML do PDF. Zobaczmy, jak Aspose radzi sobie z każdym scenariuszem konwersji:

Ciąg znaków HTML do pliku PDF

Aspose wymaga nieco więcej konfiguracji podczas konwersji ciągów HTML w porównaniu z IronPDF.

Przykład:

using Aspose.Html;
using Aspose.Html.Saving;

Document doc = new Document();
Page page = doc.getPages().Add();
HtmlFragment htmlFragment = new HtmlFragment("<h1>HTML String</h1>");
page.getParagraphs().Add(htmlFragment);
doc.Save("HTMLStringUsingDOM.pdf");

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 7

Wyjaśnienie:

  • Dokument doc: Tworzy nowy dokument, w którym zostanie zapisany przekonwertowany ciąg znaków HTML.
  • Strona: Ta linia dodaje nową stronę do utworzonego przez nas pustego dokumentu.
  • HtmlFragment htmlFragment: Jest to ciąg HTML, który konwertujemy.
  • page.getParagraphs().Add(htmlFragment): Dodaj kod HTML do dokumentu.
  • doc.Save: Zapisuje dokument z treścią HTML jako dokument PDF.

Lokalny plik HTML do PDF

Aspose obsługuje również konwersję lokalnych plików HTML do formatu PDF, ale wymaga to więcej konfiguracji niż w przypadku IronPDF.

Przykład:

using Aspose.Html;
using Aspose.Html.Converters;
using Aspose.Html.Saving;

var document = new HTMLDocument("document.html");
var options = new PdfSaveOptions();
Converter.ConvertHTML(document, options, "output.pdf");

HTML źródłowy:

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 8

Wynik:

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 9

Wyjaśnienie:

  • var document = new HTMLDocument("document.html"): Ładuje plik HTML.
  • var options: Tworzy nowy obiekt PdfSaveOptions.
  • Converter.ConvertHTML(): Konwertuje HTML na PDF.

URL do pliku PDF

Aspose zapewnia podobną funkcjonalność dla adresów URL, ale wymaga dodatkowej konfiguracji.

Przykład:

using System.IO;
using System;
using System.Net.Http;
using Aspose.Pdf;

HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("https://www.apple.com");
response.EnsureSuccessStatusCode();
string responseFromServer = await response.Content.ReadAsStringAsync();
MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(responseFromServer));
HtmlLoadOptions options = new HtmlLoadOptions("https://www.apple.com");
Document pdfDocument = new Document(stream, options);
pdfDocument.Save("WebPageToPDF_out.pdf");

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 10

Wyjaśnienie:

  • Zmienna dataDir przechowuje katalog, w którym zostanie zapisany wygenerowany PDF.
  • Utworzono WebRequest w celu dostępu do adresu URL głównej strony Wikipedii, a do żądania używane są domyślne poświadczenia.
  • Metoda GetResponse() wysyła żądanie i pobiera odpowiedź jako HttpWebResponse.
  • Strumień jest uzyskiwany z odpowiedzi, a StreamReader czyta całą zawartość HTML strony do ciągu responseFromServer.
  • Zawartość HTML z responseFromServer jest konwertowana na tablicę bajtów, a następnie ładowana do MemoryStream.
  • HtmlLoadOptions jest używane do określenia podstawowego URL-a dla linków względnych i innych ustawień.
  • Utworzono Aspose.Pdf.Document z pamięci strumieniowej zawierającej HTML, a dokument jest zapisywany jako PDF w określonym katalogu.

Werdykt / Kiedy stosować

Aspose.PDF najlepiej sprawdza się w projektach Enterprise, które wymagają zaawansowanej obróbki plików PDF, a także ich konwersji. Jest to potężne narzędzie, ale mniej zoptymalizowane pod kątem szybkiego konwertowania plików HTML do formatu PDF.

iText 9: Konwersja HTML do PDF

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 11

iText 9 to najnowsza wersja biblioteki iText PDF, oferująca ulepszone funkcje do generowania i edycji dokumentów PDF w aplikacjach .NET. Wprowadza bardziej usprawniony i rozszerzalny interfejs API, poprawiając wydajność i zapewniając lepszą obsługę nowoczesnych standardów PDF.

Ciąg znaków HTML do pliku PDF

Oto podstawowy przykład konwersji ciągu znaków HTML na dokument PDF przy użyciu iText 9.

Przykład:

using iText.Html2pdf;
using System.IO;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello World</h1><p>This is a simple PDF generated from HTML.</p>";
        string outputFile = "SimpleHtmlToPdf.pdf";

        using (var pdfStream = new FileStream(outputFile, FileMode.Create))
        {
            HtmlConverter.ConvertToPdf(html, pdfStream);
        }

        System.Console.WriteLine("PDF generated: " + outputFile);
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 12

Lokalny plik HTML do PDF

iText 9 może konwertować pliki HTML do formatu PDF za pomocą klasy HtmlConverter.ConvertToPdf.

Przykład:

using iText.Html2pdf;
using System.IO;

class Program
{
    static void Main()
    {
        string htmlFile = "document.html";
        string outputPdf = "html-file-to-pdf.pdf";

        // Read HTML content from file
        string htmlContent = File.ReadAllText(htmlFile);

        // Convert HTML string to PDF
        HtmlConverter.ConvertToPdf(htmlContent, new FileStream(outputPdf, FileMode.Create));

        System.Console.WriteLine("PDF generated: " + outputPdf);
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 13

Wyjaśnienie:

  • HtmlConverter: Konwertuje plik HTML bezpośrednio do formatu PDF.

URL do pliku PDF

iText obsługuje również konwersję treści z URL-ów.

Przykład:

using iText.Html2pdf;
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        string url = "https://apple.com";
        string outputPdf = "url-to-pdf.pdf";

        using var httpClient = new HttpClient();
        // Fetch the HTML content from the URL
        string htmlContent = await httpClient.GetStringAsync(url);

        // Convert HTML content to PDF
        HtmlConverter.ConvertToPdf(htmlContent, new FileStream(outputPdf, FileMode.Create));

        Console.WriteLine("PDF generated: " + outputPdf);
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 14

Wyjaśnienie:

  • HttpClient.GetStringAsync(url): Pobiera rzeczywistą zawartość HTML z podanego adresu URL.
  • HtmlConverter.ConvertToPdf(htmlContent, …): Konwertuje pobrany ciąg HTML na renderowany PDF.

Werdykt / Kiedy stosować

iText 9 jest odpowiedni dla deweloperów potrzebujących solidnego, korporacyjnego rozwiązania do tworzenia, manipulacji PDF i konwersji HTML do PDF. Działa dobrze, gdy wymagane jest precyzyjne kontrolowanie wygenerowanego PDF, integracja z istniejącymi przepływami pracy iText lub zaawansowane funkcje PDF, takie jak podpisy cyfrowe i formularze. Jednak w przypadku prostych zadań konwersji HTML do PDF, iText 9 jest cięższy i bardziej skomplikowany niż smukłe biblioteki, takie jak IronPDF.

wkhtmltopdf: Konwersja HTML do PDF

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 15

Archiwizacja i Status Utrzymania

Ważne jest, aby zauważyć, że wkhtmltopdf** nie jest już aktywnie utrzymywany**. Jego repozytorium GitHub zostało oficjalnie zarchiwizowane w styczniu 2023 roku i oznaczone jako tylko-do-odczytu, co oznacza, że nie są stosowane żadne przyszłe aktualizacje, poprawki błędów ani łaty bezpieczeństwa.

Konsekwencje dla deweloperów: Choć wkhtmltopdf nadal może być skuteczny dla bardzo podstawowych przypadków użycia, jego nieutrzymywany status i przestarzały silnik renderowania czynią go ryzykownym wyborem—zwłaszcza dla środowisk produkcyjnych lub aplikacji obsługujących dynamiczną lub zewnętrzną zawartość HTML.

wkhtmltopdf to narzędzie wiersza poleceń, które konwertuje pliki HTML do PDF przy użyciu renderowania Webkit. Oto, jak działa w różnych scenariuszach:

Ciąg znaków HTML do pliku PDF

wkhtmltopdf wymaga konwersji ciągów HTML poprzez najpierw zapisanie ich w pliku.

Przykład:

using System;
using System.IO;
using System.Diagnostics;
class Program
{
    static void Main(string[] args)
    {
        // HTML string to be converted to PDF
        string html = "<html><body><h1>Hello, World!</h1></body></html>";
        // Write HTML string to temporary file
        string tempHtmlFile = Path.Combine(Path.GetTempPath(), "temp.html");
        File.WriteAllText(tempHtmlFile, html);
        // Set output PDF path
        string outputPdfFile = Path.Combine(Path.GetTempPath(), "html-string-to-pdf.pdf");
        // Execute wkhtmltopdf command
        Process process = new Process();
        process.StartInfo.FileName = "wkhtmltopdf";
        process.StartInfo.Arguments = $"\"{tempHtmlFile}\" \"{outputPdfFile}\"";
        process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        process.Start();
        process.WaitForExit();
        // Clean up the temporary HTML file
        File.Delete(tempHtmlFile);
        Console.WriteLine($"PDF saved to: {outputPdfFile}");
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 16

Wyjaśnienie:

  • wkhtmltopdf wymaga pliku wejściowego, więc najpierw zapisujemy ciąg HTML do pliku tymczasowego (temp.html).
  • Następnie używamy klasy Process, aby wykonać polecenie wkhtmltopdf, przekazując ścieżkę pliku tymczasowego HTML i żądaną ścieżkę wyjściową PDF jako argumenty.
  • Po konwersji usuwamy plik tymczasowy HTML, aby posprzątać.

Lokalny plik HTML do PDF

Aby przekonwertować lokalny plik HTML na PDF przy użyciu wkhtmltopdf, można bezpośrednio wskazać ścieżkę pliku HTML.

Przykład:

using System;
using System.Diagnostics;

class Program
{
    static void Main(string[] args)
    {
        // Path to the local HTML file
        string htmlFilePath = @"C:\path\to\your\document.html";
        // Path for the output PDF file
        string outputPdfFile = @"C:\path\to\output\html-file-to-pdf.pdf";
        // Execute wkhtmltopdf command
        Process process = new Process();
        process.StartInfo.FileName = "wkhtmltopdf";
        process.StartInfo.Arguments = $"\"{htmlFilePath}\" \"{outputPdfFile}\"";
        process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        process.Start();
        process.WaitForExit();
        Console.WriteLine($"PDF saved to: {outputPdfFile}");
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 17

Wyjaśnienie:

  • Ten przykład po prostu dostarcza ścieżkę do lokalnego pliku HTML (template.html) oraz ścieżkę wyjściową dla PDF.
  • wkhtmltopdf bezpośrednio obsługuje pliki lokalne, czyniąc polecenie bezpośrednim.

URL do pliku PDF

Konwersja URL do PDF jest łatwa przy użyciu wkhtmltopdf. Wystarczy przekazać URL bezpośrednio do polecenia.

Przykład:

using System;
using System.Diagnostics;

class Program
{
    static void Main(string[] args)
    {
        // URL to be converted to PDF
        string url = "https://apple.com";
        // Path for the output PDF file
        string outputPdfFile = @"C:\path\to\output\url-to-pdf.pdf";
        // Execute wkhtmltopdf command
        Process process = new Process();
        process.StartInfo.FileName = "wkhtmltopdf";
        process.StartInfo.Arguments = $"\"{url}\" \"{outputPdfFile}\"";
        process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        process.Start();
        process.WaitForExit();
        Console.WriteLine($"PDF saved to: {outputPdfFile}");
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 18

Wyjaśnienie:

  • W tym przykładzie wkhtmltopdf akceptuje adresy URL bezpośrednio jako wejście.
  • Adres URL jest przekazywany jako argument do wkhtmltopdf, a wynik jest zapisywany jako PDF w określonej ścieżce.

PuppeteerSharp: Konwersja HTML do PDF

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 19

PuppeteerSharp jest wrapperem .NET dla Puppeteera od Google, zapewniającym kontrolę nad Headless Chrome/Chromium. Doskonałe przy renderowaniu stron bogatych w JavaScript, ale wymaga pobrania i zarządzania instancją Chromium, co zwiększa obciążenie. Jest open-source'owy na licencji Apache 2.0.

Ciąg znaków HTML do pliku PDF

Puppeteer jest zaprojektowany do renderowania pełnych stron, więc konwersja ciągu HTML wymaga zapisania go w pliku lub bezpośredniego renderowania w przeglądarce.

Przykład:

using PuppeteerSharp;
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
       // Download the browser if necessary
        await new BrowserFetcher().DownloadAsync();
        var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true });
        var page = await browser.NewPageAsync();
        string htmlContent = "<h1>Hello, World!</h1><p>This is a PDF generated from HTML string.</p>";
        await page.SetContentAsync(htmlContent);
        // Save the page as a PDF
        await page.PdfAsync("html-string-to-pdf.pdf");
        await browser.CloseAsync();
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 20

Wyjaśnienie:

  • Puppeteer.LaunchAsync: Uruchamia nową instancję Chromium w trybie bez głowy.
  • page.SetContentAsync: Ładuje ciąg HTML do strony przeglądarki.
  • page.PdfAsync: Konwertuje załadowany HTML do PDF i zapisuje go w pliku.

Lokalny plik HTML do PDF

Aby przekonwertować lokalny plik HTML na PDF przy użyciu PuppeteerSharp, można załadować plik do przeglądarki działającej bez głowy i wygenerować PDF.

Przykład:

using PuppeteerSharp;
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download the browser if necessary
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
        var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true });
        var page = await browser.NewPageAsync();

        // Load the local HTML file
        await page.GoToAsync("file:///path/to/your/template.html");

        // Save the page as a PDF
        await page.PdfAsync("html-file-to-pdf.pdf");
        await browser.CloseAsync();
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 21

Wyjaśnienie:

  • page.GoToAsync: Ładuje lokalny plik HTML (upewnij się, że używasz poprawnej ścieżki [file://]()).
  • page.PdfAsync: Konwertuje zawartość lokalnego pliku HTML na PDF.

URL do pliku PDF

Konwersja URL do PDF to jedna z podstawowych funkcji PuppeteerSharp, ponieważ może obsługiwać złożone strony z JavaScriptem.

Przykład:

using PuppeteerSharp;
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download the browser if necessary
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
        var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true });
        var page = await browser.NewPageAsync();

        // Navigate to the URL
        await page.GoToAsync("https://example.com");

        // Save the page as a PDF
        await page.PdfAsync("url-to-pdf.pdf");
        await browser.CloseAsync();
    }
}

Wynik

HTML to PDF in C# dla programistów .NET (Przewodnik ostateczny): Rycina 22

Wyjaśnienie:

  • page.GoToAsync: Nawiguje do określonego URL.
  • page.PdfAsync: Konwertuje stronę internetową pod URL na PDF i zapisuje ją.

Werdykt / Kiedy stosować

PuppeteerSharp jest idealny, gdy potrzebne jest renderowanie piksel-perfect nowoczesnych aplikacji internetowych bogatych w JavaScript. Jest bardziej złożony niż IronPDF, ale doskonale sprawdza się przy obsłudze dynamicznej zawartości web.

Dlaczego warto wybrać IronPDF?

IronPDF wyróżnia się łatwością użycia, elastycznością i bezproblemową integracją z aplikacjami .NET. Jest prosty do wdrożenia, obsługuje renderowanie HTML, CSS i JavaScript oraz nie wymaga dodatkowej konfiguracji ani zewnętrznych zależności. Poza konwersją HTML do PDF, IronPDF oferuje szeroki zakres funkcji do tworzenia dokumentów PDF z różnych typów plików, edytowania i dodawania do istniejących dokumentów PDF, znakowania wodnego, zabezpieczeń plików PDF, i wiele więcej! Aby zobaczyć więcej tej biblioteki w akcji, koniecznie sprawdź Przewodniki jak-to-zrobić, które pokazują każdą z jej funkcji w działaniu.

Wnioski

Jeśli chodzi o konwersję HTML do plików PDF w C#, istnieje kilka potężnych narzędzi dostępnych, każdy oferujący unikalne funkcje i możliwości. IronPDF, Aspose, iText 9, wkhtmltopdf i PuppeteerSharp wszystkie zapewniają solidne rozwiązania do przekształcania zawartości HTML w profesjonalnej jakości dokumenty PDF. Jednak wybór odpowiedniego narzędzia dla twojego projektu zależy od takich czynników jak łatwość integracji, wsparcie dla dynamicznej zawartości, wydajność i elastyczność.

NarzędzieString HTML na PDFPlik HTML na PDFURL do pliku PDFUwagi
logo IronPDF
IronPDF
Prosty z RenderHtmlAsPdf do ciągów HTML. Łatwy w użyciu i integruje się bezproblemowo z aplikacjami .NET.Używa RenderHtmlFileAsPdf, automatycznie obsługuje powiązane zasoby (CSS, JS).Używa RenderUrlAsPdf, obsługuje strony ciężkie od JavaScriptu i dynamiczną zawartość.W pełni zintegrowany z .NET, idealny dla deweloperów .NET. Obsługuje ciągi HTML, pliki i URL.
logo Aspose
Aspose
Wymaga więcej konfiguracji. Używa HtmlFragment w obiekcie Document do konwersji ciągów HTML.Wymaga HtmlDocument i PdfSaveOptions do konwersji lokalnych plików HTML. Wymaga więcej konfiguracji niż IronPDF.Wymaga dodatkowej konfiguracji przy użyciu WebRequest do pobrania zawartości przed konwersją z HtmlLoadOptions.Solidny do różnych manipulacji dokumentami, ale konfiguracja może być bardziej skomplikowana. Dobry do bardziej złożonych potrzeb PDF.
logo iText
iText
Używa HtmlConverter.ConvertToPdf do konwersji ciągów HTML na PDF.Używa HtmlConverter.ConvertToPdf do konwersji lokalnych plików HTML do PDF.Podobny do obsługi lokalnych plików, używa HtmlConverter.ConvertToPdf.Świetny dla deweloperów potrzebujących większej kontroli nad manipulacją PDF poza konwersją HTML do PDF.
logo wkhtmltopdf
wkhtmltopdf
Konwertuje ciągi HTML, zapisując je najpierw w pliku. Używa narzędzia wiersza poleceń do generowania PDF.Bezpośrednio konwertuje lokalne pliki HTML do PDF, wskazując ścieżki plików.Bezpośrednio konwertuje URL do PDF, przekazując URL do narzędzia wiersza poleceń.Głównie narzędzie wiersza poleceń, może wymagać dodatkowych kroków do integracji w .NET. Najlepszy do prostych konwersji.
logo PuppeteerSharp
PuppeteerSharp
Używa page.SetContentAsync do załadowania ciągu HTML, a następnie page.PdfAsync do generowania PDF.Ładuje lokalny plik HTML przy użyciu page.GoToAsync, a następnie konwertuje go na PDF.Ładuje URL i konwertuje go na PDF przy użyciu page.GoToAsync i page.PdfAsync.Najlepiej nadaje się do dynamicznych stron, szczególnie dla zawartości bogatej w JavaScript. Wymaga pobrania i uruchomienia Chromium.
  • IronPDF wyróżnia się prostotą, bezpośrednią integracją z .NET i możliwością obsługi złożonego HTML, w tym stron renderowanych za pomocą JavaScript. Jest to idealne rozwiązanie dla programistów, którzy szukają łatwego w użyciu rozwiązania z minimalnym ustawieniem.

  • Aspose oferuje szerokie funkcje manipulacji PDF, ale jego zdolności konwersji HTML do PDF wymagają więcej konfiguracji, zwłaszcza do obsługi lokalnych plików i zasobów zewnętrznych.

  • iText 9 zapewnia solidną podstawę dla tych, którzy chcą tworzyć dokumenty PDF, chociaż może wymagać dodatkowego kodowania do konwersji HTML na PDF, zwłaszcza dla dynamicznej zawartości. Świetny wybór dla projektów, w których potrzebna jest niestandardowa manipulacja PDF.

  • wkhtmltopdf jest idealny do podstawowej konwersji HTML do PDF z interfejsem wiersza poleceń, ale brakuje mu integracji i elastyczności pełnej biblioteki .NET.

  • PuppeteerSharp, wykorzystując Headless Chrome, jest narzędziem dla renderowania złożonych, dynamicznych stron webowych i konwersji ich do PDF-ów, zwłaszcza przy pracy z treściami obciążonymi JavaScript.

Dla większości deweloperów .NET poszukujących kompleksowego, prostego rozwiązania, IronPDF warto spróbować dzisiaj, aby samodzielnie odkryć jego potężne funkcje. Od generowania nowych dokumentów PDF po edytowanie istniejących PDF, odkryj pełen zakres funkcji IronPDF samodzielnie. Po prostu zainstaluj IronPDF i skorzystaj z bezpłatnego okresu próbnego, aby sprawdzić to samemu. Zobacz, jak może ulepszyć dziś twoje przepływy pracy z PDF.

Ostatecznie, właściwe narzędzie zależy od twoich konkretnych wymagań, ale dzięki opcjom omówionym tutaj, jesteś dobrze przygotowany, aby znaleźć idealne rozwiązanie dla swojego projektu.

Uwaga: Aspose, iText, wkhtmltopdf i PuppeteerSharp to zarejestrowane znaki towarowe swoich właścicieli. Ta strona nie jest związana z, zatwierdzona przez ani sponsorowana przez Aspose, iText, wkhtmltopdf lub Puppeteer. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania są podane wyłącznie w celach informacyjnych i bazują na publicznie dostępnych informacjach w momencie pisania.

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
Otrzymaj swoją Konsultację 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