Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

Jak analizować dane z dokumentów PDF

IronPDF umożliwia programistom C# konwersję HTML do PDF przy użyciu silnika renderującego opartego na Chrome, obsługującego CSS, JavaScript i dynamiczne generowanie treści za pomocą zaledwie kilku linii kodu dla aplikacji .NET 10.

Konwersja HTML do PDF w języku C# jest częstym wymaganiem dla programistów .NET tworzących aplikacje korporacyjne. Niezależnie od tego, czy generujesz pliki PDF z treści internetowych, dokumentów HTML czy ciągów znaków HTML, możliwość konwersji HTML na profesjonalne pliki PDF jest niezbędna do tworzenia raportów, faktur i innych materiałów przeznaczonych do druku.

Biblioteka IronPDF to potężny konwerter HTML na PDF stworzony dla aplikacji .NET Framework i nowoczesnych projektów .NET 10. Pozwala to w prosty sposób konwertować HTML, style CSS, a nawet renderowanie JavaScript na wysokiej jakości dokumenty PDF — wszystko to za pomocą zaledwie kilku wierszy kodu C#. Biblioteka wykorzystuje silnik renderujący Chrome, który zapewnia konwersję z dokładnością co do piksela.

Strona główna IronPDF for .NET pokazująca przykład kodu konwersji HTML na PDF w C# z użyciem klasy ChromePdfRenderer

Dlaczego warto używać IronPDF do konwersji HTML na PDF?

W przeciwieństwie do starszych bibliotek PDF wymagających ręcznego rysowania elementów, IronPDF renderuje zawartość HTML przy użyciu pełnego silnika Chromium. Oznacza to, że pliki HTML, CSS i pliki graficzne są przetwarzane dokładnie tak, jak w przeglądarce, z zachowaniem układu, czcionek i elementów HTML. Idealnie nadaje się do:

IronPDF działa jako pełna biblioteka konwerterów do tworzenia dokumentów PDF, zapewniając programistom .NET zarówno prostotę, jak i zaawansowaną kontrolę nad generowaniem plików PDF. Biblioteka obsługuje kodowanie UTF-8 dla języków międzynarodowych i zapewnia szerokie możliwości dostosowania wyglądu.

Jak zainstalować IronPDF w projekcie .NET 10?

Najpierw utwórz nowy projekt .NET 10. Szczegółowe instrukcje dotyczące instalacji można znaleźć w przeglądzie instalacji IronPDF lub dokumentacji pakietu NuGet.

Okno konfiguracji projektu w Visual Studio pokazujące ustawienia dla nowego projektu Aplikacja Konsolowa C# o nazwie 'HtmlToPDF' z opcjami ustawiania celu platformy i lokalizacji plików.

Obecnie .NET 10 jest w fazie podglądu, ale jest w pełni kompatybilny z IronPDF. Biblioteka zachowuje kompatybilność na różnych platformach, w tym Windows, Linux i macOS.

Okno dialogowe tworzenia projektu w Visual Studio pokazujące ustawienia Dodatkowe informacje dla Aplikacji Konsolowej z wybranym środowiskiem .NET 10.0 Preview i opcjami wsparcia kontenera.

Użyjemy tego tutaj, aby zademonstrować, jak konwersja HTML do PDF działa płynnie z najnowszymi funkcjami .NET i silnikiem renderującym opartym na Chrome w IronPDF.

Zainstalujmy teraz IronPDF!

Możesz zainstalować IronPDF bezpośrednio z Menedżera Pakietów NuGet dla Rozwiązań.

Okno Menedżera Pakietów NuGet pokazujące zainstalowany pakiet IronPDF w wersji 2025.9.4 w Visual Studio

Istnieją również inne opcje instalacji. W Eksploratorze Rozwiązań otwórz terminal lub Interfejs Wiersza Poleceń (CLI) i uruchom:

dotnet add package IronPdf

lub używając konsoli Menedżera Pakietów NuGet:

Install-Package IronPdf

Okno konsoli Menedżera Pakietów pokazujące pomyślną instalację pakietu NuGet IronPDF wersji 2025.9.4 w projekcie Visual Studio o nazwie HtmlToPDF.

Teraz jesteś gotowy do rozpoczęcia kodowania. Dla poprawnej konfiguracji, upewnij się, że zastosowałeś swój klucz licencyjny jeśli używasz wersji komercyjnej.

Jak przeprowadzić podstawową konwersję HTML do PDF?

Zacznijmy od przykładu C# HTML do PDF, który konwertuje treść HTML na plik PDF. To podstawowe podejście dobrze się sprawdza dla prostych dokumentów i demonstruje podstawowe API.

using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
Imports IronPdf

Class Program
    Public Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()

        Dim html As String = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>"

        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("basic_output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Wyjaśnienie:

W zaledwie kilku liniach zbudowaliśmy działający konwerter HTML do PDF z użyciem C#.

Adobe Acrobat wyświetlający dokument PDF z tytułem 'HTML to PDF C# Example' i podtytułem 'To demonstruje konwersję PDF w .NET 10.'

Jak konwertować pliki HTML i adresy URL do PDF?

Kiedy powinienem konwertować lokalne pliki HTML?

Możesz konwertować pliki HTML z dysku, w tym zasoby powiązane, takie jak CSS czy obrazy. Jest to przydatne podczas pracy z szablonami lub zarządzania czcionkami i URL podstawowymi:

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("template.html")
pdf.SaveAs("file_conversion.pdf")
$vbLabelText   $csharpLabel

Ta metoda czyta lokalny plik HTML i automatycznie ładuje zasoby zewnętrzne. Dla złożonych scenariuszy możesz konwertować pliki ZIP HTML zawierające wszystkie zasoby.

Przeglądarka PDF pokazująca przykład konwersji HTML na PDF z tabelą zawierającą ilości i ceny przedmiotów dla owoców (jabłka, banany, pomarańcze).

Kiedy powinienem konwertować strony internetowe za pomocą URL?

Jeśli twoje dane wejściowe to strona internetowa lub istniejący URL, renderuj to bezpośrednio. To podejście przechwytuje bieżące treści webowe, pulpity nawigacyjne lub obsługuje ciasteczka oraz nagłówki żądań HTTP:

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___")
pdf.SaveAs("webpage_conversion.pdf")
$vbLabelText   $csharpLabel

Kod wykonuje konwersję URL na PDF, renderując dokument HTML z pełnym wsparciem dla JavaScript oraz CSS. Dla stron wymagających uwierzytelnienia, skonfiguruj loginy TLS.

Zrzut ekranu strony głównej IronPDF for .NET pokazujący funkcje biblioteki PDF w C#, w tym możliwości konwersji HTML na PDF i wsparcie międzyplatformowe.

Jak konwertować treść HTML ze stylami i JavaScript?

Wiele stron internetowych używa dynamicznych elementów, stylów CSS i renderowania JavaScript (np. wykresy, pulpity nawigacyjne). IronPDF w pełni wspiera to poprzez API WaitFor:

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(2000) ' wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297) ' A4 in mm

Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("Reports/sales.html")
pdf.SaveAs("styled_output.pdf")
$vbLabelText   $csharpLabel

To zapewnia, że IronPDF czeka na załadowanie dynamicznej zawartości przed renderowaniem, co skutkuje dokładnym wyjściem wizualnym. Możesz także renderować strony WebGL oraz obsługiwać złożone czcionki webowe.

Przeglądarka PDF pokazująca Dynamiczny Raport Wydajności z wykresem słupkowym ukazującym procenty wydajności zespołu dla Działu Sprzedaży (80%), Marketingu (95%), Wsparcia (75%) i HR (90%).

Jak dodać nagłówki, stopki i numery stron?

Łatwo dodaj profesjonalne nagłówki i stopki do swoich PDFów. IronPDF obsługuje zarówno tekstowe nagłówki, jak i bogate HTML nagłówki z numerami stron:

renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    .Height = 30,
    .Spacing = 5
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    .Height = 30,
    .Spacing = 5
}
$vbLabelText   $csharpLabel

IronPDF traktuje je jako elementy HTML, więc można je stylizować przy pomocy CSS i dołączyć niestandardowe dane, takie jak daty lub nazwy firm. Dla prostszych potrzeb użyj nagłówków i stopek tekstowych.

Dokument PDF pokazujący Dynamiczny Raport Wydajności z wykresem słupkowym przedstawiającym procenty wydajności zespołu dla Działu Sprzedaży, Marketingu, Wsparcia i HR, wygenerowany przy użyciu IronPDF i ApexCharts.

Jak generować PDF-y z wielu fragmentów HTML?

Aby generować PDF-y za pomocą łączenia fragmentów HTML, można je scalić. To tworzy raporty wielosekcyjne lub łączy treści z różnych źródeł:

var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
Dim renderer = New ChromePdfRenderer()

Dim part1 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>")
Dim part2 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>")

Dim merged = PdfDocument.Merge(part1, part2)
merged.SaveAs("Merged.pdf")

' Alternative approach: copy specific pages
Dim combinedDoc = New PdfDocument()
combinedDoc.CopyPage(part1, 0) ' Copy first page
combinedDoc.CopyPage(part2, 0) ' Copy first page
combinedDoc.SaveAs("Combined.pdf")
$vbLabelText   $csharpLabel

To pomaga przy tworzeniu raportów wielosekcyjnych z różnych fragmentów HTML. Możesz także dodać zakładki w celu poprawy nawigacji.

Interfejs Adobe Acrobat pokazujący dokument PDF z nagłówkiem 'Sekcja 1' i panelem Stron wyświetlającym miniaturki Sekcji 1 i Sekcji 2.

Jak przekonwertować HTML na PDF w API webowych?

W ASP.NET Web API generuj i zwracaj PDF-y bez zapisywania na dysku za pomocą MemoryStream. Ten wzorzec jest idealny dla aplikacji Blazor i usług RESTful:

[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
<HttpGet("download")>
Public Function GetPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim html As String = "<h1>Web Report</h1><p>Generated dynamically.</p>"

    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Dim bytes = pdf.BinaryData

    ' Optional: Add metadata
    pdf.MetaData.Author = "API Service"
    pdf.MetaData.CreationDate = DateTime.Now

    Return File(bytes, "application/pdf", "report.pdf")
End Function
$vbLabelText   $csharpLabel

Ten wzorzec działa świetnie dla generacji PDF po stronie serwera w aplikacjach webowych .NET 10. Możesz zintegrować się z widokami CSHTML dla aplikacji MVC.

Jak dostosować opcje renderowania HTML?

Kontroluj, jak elementy HTML i zasoby są renderowane za pomocą wszechstronnych opcji renderowania:

renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___"
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token")
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000
renderer.RenderingOptions.EnableJavaScript = True

' Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920
renderer.RenderingOptions.ViewPortHeight = 1080
$vbLabelText   $csharpLabel

To pomaga podczas renderowania stron z zewnętrznymi zasobami lub wykonywania wyrywania z sieci, a następnie konwersji do PDF. Aby zoptymalizować drukowanie, skonfiguruj typy mediów CSS i niestandardowe rozmiary papieru.

Jak stworzyć narzędzia wiersza poleceń do konwersji PDF?

Twórz narzędzia wiersza poleceń do masowej konwersji HTML do PDF, przydatne do automatyzacji i pipeline'ów CI/CD:

using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

        Console.WriteLine("PDF generated successfully!");
    }
}
using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

        Console.WriteLine("PDF generated successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Public Shared Sub Main(args As String())
        If args.Length < 2 Then
            Console.WriteLine("Usage: pdfconvert input.html output.pdf")
            Return
        End If

        Dim inputFile As String = args(0)
        Dim outputPath As String = args(1)

        Dim renderer As New ChromePdfRenderer()

        ' Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = True

        Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf(inputFile)
        pdf.SaveAs(outputPath)

        Console.WriteLine("PDF generated successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Uruchom to z Wiersza Poleceń (CLI):

dotnet run "input.html" "output.pdf"

Terminal PowerShell pokazujący polecenie run .NET z parametrami input.html i output.pdf, po którym następuje komunikat o sukcesie 'PDF wygenerowany pomyślnie!'

Zbudowałeś prosty konwerter PDF w wierszu poleceń dla deweloperów .NET. Do produkcji dodaj niestandardowe logowanie i obsługę błędów.

Adobe Acrobat wyświetlający plik PDF z tekstem 'Converted from Command Line using IronPDF' wyśrodkowanym na stronie.

Jak używać wzorców Async do generacji PDF?

Używaj wzorców async dla nowoczesnych aplikacji .NET 10. To podejście jest niezbędne w generacji wielowątkowej w scenariuszach wymagających wysokiej wydajności:

public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
Imports System
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Linq

Public Module Program
    Public Async Function Main() As Task
        Dim renderer = New ChromePdfRenderer()
        Dim url As String = "___PROTECTED_URL_98___"

        ' Async rendering with cancellation token support
        Using cts As New CancellationTokenSource(TimeSpan.FromMinutes(2))
            Dim pdf As PdfDocument = Await renderer.RenderUrlAsPdfAsync(url, cts.Token)
            pdf.SaveAs("async_output.pdf")
        End Using

        ' For parallel processing of multiple documents
        Dim urls = { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" }
        Dim tasks = urls.Select(Function(u) renderer.RenderUrlAsPdfAsync(u)).ToArray()
        Dim pdfs = Await Task.WhenAll(tasks)

        ' Merge all PDFs
        Dim combined = PdfDocument.Merge(pdfs)
        combined.SaveAs("batch_output.pdf")
    End Function
End Module
$vbLabelText   $csharpLabel

To działa świetnie dla skalowalnych systemów lub API chmurowych obsługujących generację PDF o dużej skali. Dla lepszej wydajności rozważ równoległą generację PDF.

Jakie są najlepsze praktyki dla generacji PDF na dużą skalę?

  • Wykorzystaj ponownie instancje ChromePdfRenderer, aby zmniejszyć obciążenie
  • Przechowuj pliki tymczasowe na szybkim dysku SSD lub używaj strumieni pamięci
  • Używaj zadań async z odpowiednią obsługą tokenów anulowania
  • Unikaj nadmiernego renderowania JavaScript konfigurując opóźnienia renderowania
  • Waliduj wejście HTML, aby zapobiec błędom konwersji
  • Wdroż kompresję PDF dla mniejszych plików
  • Rozważ linearyzację PDF do wyświetlania w sieci

For deployment, IronPDF supports Azure, AWS Lambda, and Docker containers. Biblioteka zapewnia obszerne wskazówki dotyczące optymalizacji wydajności.

Funkcje zaawansowane dla aplikacji Enterprise

IronPDF oferuje zaawansowane funkcje dla scenariuszy enterprise:

Wnioski

Z IronPDF i .NET 10, konwersja zawartości HTML na profesjonalne PDF-y jest prosta - niezależnie od tego, czy pracujesz z ciągami HTML, lokalnymi plikami, czy URL-ami. Silnik renderujący oparty na Chrome w bibliotece zapewnia doskonałą zgodność z nowoczesnymi standardami webowymi, w tym CSS3 i JavaScript.

Od prostych fragmentów po generację na dużą skalę, IronPDF zapewnia kompletny konwerter HTML do PDF z obsługą JavaScript, CSS, niestandardowych nagłówków i zasobów zlinkowanych. Obszerne API obsługuje wszystko od podstawowych konwersji do złożonych wymagań enterprise, takich jak podpisy cyfrowe i organizacja PDF.

W zaledwie kilku liniach kodu możesz generować PDF-y, automatyzować generację raportów lub wbudować konwerter PDF bezpośrednio w swoje aplikacje .NET. Obszerna dokumentacja biblioteki i przykłady kodu ułatwiają rozpoczęcie.

Rozpocznij eksperymentowanie z projektami HTML-to-PDF już dziś, korzystając z darmowej wersji próbnej IronPDF. Pobierz teraz i doświadcz, jak łatwo możesz generować wysokiej jakości PDF-y z zawartości HTML. Dla szczegółowych porównań z alternatywami, sprawdź, jak IronPDF wypada na tle iText, Aspose i innych bibliotek PDF.

Często Zadawane Pytania

Jakie jest główne zastosowanie konwersji HTML do PDF w języku C#?

Głównym zastosowaniem konwersji HTML do PDF w języku C# jest generowanie profesjonalnych plików PDF na podstawie treści internetowych, dokumentów HTML lub ciągów znaków HTML. Jest to niezbędne do tworzenia raportów, faktur i innych zasobów przeznaczonych do druku w aplikacjach Enterprise lub SaaS.

Dlaczego konwersja HTML do PDF jest ważna dla programistów .NET?

Konwersja HTML do PDF jest ważna dla programistów .NET, ponieważ umożliwia im integrację funkcji generowania dokumentów z ich aplikacjami, co ma kluczowe znaczenie dla tworzenia wysokiej jakości dokumentów, które można udostępniać i drukować, takich jak raporty i faktury.

Czy IronPDF obsługuje duże dokumenty HTML do konwersji do formatu PDF?

Tak, IronPDF może sprawnie obsługiwać duże dokumenty HTML i konwertować je do formatu PDF bez utraty wydajności lub jakości.

Czy IronPDF obsługuje konwersję ciągów znaków HTML do formatu PDF?

IronPDF obsługuje konwersję ciągów HTML do formatu PDF, umożliwiając programistom dynamiczne generowanie dokumentów PDF bezpośrednio z treści HTML.

Jakie rodzaje aplikacji mogą skorzystać z wykorzystania IronPDF do konwersji HTML na PDF?

Aplikacje Enterprise i SaaS czerpią ogromne korzyści z wykorzystania IronPDF do konwersji HTML na PDF, ponieważ umożliwia to automatyzację tworzenia profesjonalnych dokumentów, takich jak raporty i faktury.

W jaki sposób IronPDF zapewnia wysoką jakość plików PDF generowanych z HTML?

IronPDF zapewnia wysoką jakość plików PDF dzięki zaawansowanym technikom renderowania, które dokładnie konwertują HTML, CSS i JavaScript na profesjonalnie wyglądające pliki PDF.

Czy można dostosować wygląd plików PDF generowanych z HTML przy użyciu IronPDF?

Tak, IronPDF umożliwia szerokie dostosowanie wyglądu plików PDF generowanych z HTML, w tym układu, czcionek i stylów, tak aby odpowiadały konkretnym wymaganiom projektowym.

Czy IronPDF może konwertować strony internetowe bezpośrednio do formatu PDF?

IronPDF umożliwia bezpośrednią konwersję stron internetowych do formatu PDF, pozwalając programistom na łatwe przekształcanie aktywnych treści internetowych w statyczne dokumenty PDF, które można udostępniać.

Czy IronPDF obsługuje integrację grafiki i obrazów w dokumentach PDF?

IronPDF obsługuje integrację grafiki i obrazów, zapewniając, że przekonwertowane dokumenty PDF zachowują elementy wizualne oryginalnej treści HTML.

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