IRONSOFTWAREHOME
KORZYSTANIE Z IRONPDF

Jak wyodrębnić dane z pliku PDF w języku C#

Curtis Chau
Curtis Chau
Updated: 3 maja 2026

IronPDF umożliwia programistom C# konwersję HTML do formatu PDF w zaledwie 5 krokach za pomocą prostej aplikacji Windows Forms, wymagającej jedynie instalacji pakietu NuGet i kilku wierszy kodu, aby renderować HTML jako profesjonalne dokumenty PDF.

Programiści C# mogą używać IronPDF do generowania plików PDF z HTML. W tym artykułe proces ten zostanie zilustrowany na przykładzie aplikacji C# Windows Forms utworzonej przy użyciu .NET Framework.

Aby utworzyć projekt w programie Visual Studio 2019, wykonaj poniższe czynności.

Jak utworzyć projekt Visual Studio do generowania plików PDF?

Najpierw otwórz program Visual Studio 2019.

Okno startowe Visual Studio 2019 z opcjami klonowania repozytorium, otwierania projektu lub rozwiązania, otwierania lokalnego folderu lub tworzenia nowego projektu

Kliknij "Utwórz nowy projekt".

Teraz wybierz "Aplikacja Windows Forms" z listy szablonów i naciśnij "Dalej". Pojawi się następujące okno:

Okno dialogowe 'Tworzenie nowego projektu' w Visual Studio pokazujące wybór szablonu aplikacji Windows Forms dla .NET Core na systemy Windows, Linux i macOS

Wpisz nazwę projektu "Tworzenie plików PDF za pomocą IronPDF".

Okno konfiguracji nowego projektu w Visual Studio z nazwą projektu 'Stwórz PDF przy użyciu IronPDF' z wybraną aplikacją Windows Forms (NET Framework) i wersją frameworku 4.7.2

Kliknij przycisk "Utwórz". Projekt zostanie utworzony zgodnie z poniższym opisem.

Środowisko Visual Studio IDE pokazujące pusty Windows Form w widoku projektowania z Eksploratorem rozwiązań wyświetlającym nowy projekt o nazwie 'Stwórz PDF przy użyciu IronPDF'

Dlaczego w tym samouczku warto używać Windows Forms?

Windows Forms zapewnia proste środowisko wizualne dla początkujących, którzy uczą się generowania plików PDF w języku C#. Oferuje kreator typu "przeciągnij i upuść", który ułatwia tworzenie interfejsów użytkownika bez konieczności posiadania rozległej wiedzy z zakresu HTML lub tworzenia stron internetowych. Model programowania sterowanego zdarzeniami w Windows Forms dobrze wpisuje się w sposób, w jaki młodsi programiści postrzegają przebieg aplikacji, co czyni go idealnym do demonstracji podstawowych możliwości IronPDF w zakresie konwersji HTML do PDF.

W przypadku aplikacji produkcyjnych warto rozważyć wykorzystanie .NET Core do generowania plików PDF w sieci WWW lub aplikacji konsolowych do przetwarzania wsadowego. Jednak Windows Forms pozostaje doskonałym wyborem dla narzędzi wewnętrznych, programów użytkowych na komputery stacjonarne oraz środowisk edukacyjnych, w których podczas tworzenia oprogramowania potrzebna jest szybka informacja zwrotna w formie wizualnej.

Która wersja Visual Studio działa najlepiej?

Visual Studio 2019 lub nowsze zapewnia najlepsze wrażenia podczas tworzenia oprogramowania z wykorzystaniem IronPDF. Te wersje zawierają ulepszone zarządzanie pakietami NuGet, lepsze wsparcie IntelliSense dla nowoczesnych funkcji C# oraz ulepszone możliwości debugowania, które pomagają podczas rozwiązywania problemów z generowaniem PDF.

Chociaż Visual Studio 2022 oferuje najnowsze funkcje i ulepszenia wydajności, Visual Studio 2019 pozostaje szeroko stosowane i w pełni obsługiwane. Obie wersje działają płynnie z pakietami NuGet firmy IronPDF. Programiści korzystający z Visual Studio Code nadal mogą pracować z IronPDF, choć będą musieli używać interfejsu wiersza poleceń do zarządzania pakietami i zrezygnować z niektórych funkcji projektowania wizualnego przedstawionych w tym samouczku.

Czy mogę używać .NET Core zamiast .NET Framework?

Oczywiście! IronPDF w pełni obsługuje .NET Core, .NET 5, .NET 6 i .NET 7+. W rzeczywistości korzystanie z .NET Core lub nowszych wersji oferuje kilka zalet, w tym kompatybilność międzyplatformową, lepszą wydajność oraz dostęp do najnowszych funkcji języka C#.

Aby korzystać z .NET Core, wystarczy wybrać odpowiednią platformę docelową podczas tworzenia projektu. Przykłady kodu w tym samouczku działają identycznie we wszystkich obsługiwanych frameworkach. Aby zapewnić elastyczność wdrożenia, aplikacje .NET Core mogą działać nie tylko w systemie Windows, ale także w systemach Linux i macOS, co czyni je idealnymi do wdrożeń w chmurze i środowiskach kontenerowych.

Jak zainstalować IronPDF za pomocą menedżera pakietów NuGet?

  • Najpierw kliknij przycisk "Narzędzia" na pasku menu.
  • Otworzy się menu. Teraz kliknij opcję NuGet Package Manager.
  • Otworzy się kolejne podmenu. Teraz kliknij opcję o nazwie Package Manager Console.

Visual Studio z rozwiniętym menu Narzędzia z podmenu Menedżer pakietów NuGet, z podświetloną opcją Konsoli Menedżera Pakietów

Zostaniesz przeniesiony do nowego ekranu z wiersza poleceń. W nim wpisz polecenie do zainstalowania pakietu IronPDF.

PM > Install-Package IronPdf

Środowisko Visual Studio 2019 IDE pokazujące Konsolę Menedżera Pakietów z gotową do wykonania komendą instalacji IronPDF

Naciśnij klawisz Enter po wpisaniu polecenia. Upewnij się, że Twój komputer/laptop jest podłączony do Internetu. Pakiet IronPDF zostanie automatycznie dodany do istniejącego projektu.

Środowisko Visual Studio 2019 IDE pokazujące dokumentację biblioteki IronPDF z przykładem kodu C# dla konwersji HTML do PDF, obok Konsoli Menedżera Pakietów wyświetlającej pomyślną instalację IronPDF

Powyższy ekran pokazuje pakiet pomyślnie dodany do projektu.

Jakie są alternatywne sposoby instalacji IronPDF?

Oprócz konsoli menedżera pakietów masz kilka opcji instalacji IronPDF:

  1. Interfejs użytkownika menedżera pakietów NuGet: Kliknij prawym przyciskiem myszy na swój projekt, wybierz "Zarządzaj pakietami NuGet", wyszukaj "IronPDF" i kliknij "Zainstaluj". Świetne rozwiązanie dla początkujących, którzy preferują interfejsy graficzne.

  2. PackageReference w .csproj: W przypadku nowoczesnych projektów .NET, można dodać IronPDF bezpośrednio do pliku projektu:

<PackageReference Include="IronPdf" Version="*" />
XML
  1. .NET CLI: Dla deweloperów, którzy preferują narzędzia wiersza poleceń lub używają Visual Studio Code:

dotnet add package IronPdf

  1. Pobieranie ręczne: Można pobrać bibliotekę DLL bezpośrednio ze strony internetowej IronPDF i dodać ją jako odwołanie, choć takie podejście utrudnia aktualizacje.

Dlaczego podczas instalacji potrzebne jest połączenie z Internetem?

NuGet wymaga połączenia z Internetem, aby pobrać IronPDF i jego zależności z repozytorium NuGet.org. Pakiet zawiera podstawową bibliotekę IronPDF oraz pliki binarne silnika renderującego Chrome niezbędne do konwersji HTML na PDF.

W przypadku instalacji offline można:

Należy pamiętać, że silnik renderujący IronPDF wymaga dodatkowych komponentów uruchomieniowych, które mogą zostać pobrane przy pierwszym użyciu, dlatego podczas początkowego generowania plików PDF zalecane jest połączenie z Internetem.

Jak mogę sprawdzić, czy instalacja przebiegła pomyślnie?

Po instalacji sprawdź, czy IronPDF działa poprawnie, zwracając uwagę na następujące wskaźniki:

  1. Węzeł Referencje: W Eksploratorze rozwiązań rozwiń węzeł Referencje. Powinieneś zobaczyć "IronPDF" wymienione wśród odwołań do projektu.

  2. Wsparcie IntelliSense: Wpisz using IronPdf; na górze pliku C#. IntelliSense powinno rozpoznać przestrzeń nazw bez błędów.

  3. Prosty kod testowy: Dodaj ten podstawowy test, aby zweryfikować funkcjonalność:

using IronPdf;

// Quick verification test
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Test</h1>");
// If no exceptions occur, IronPDF is installed correctly
  1. Menedżer pakietów: Uruchom Get-Package IronPdf w Konsoli Menedżera Pakietów, aby zobaczyć informacje o wersji.

W razie problemów zapoznaj się z przewodnikiem dotyczącym rozwiązywania problemów lub sprawdź, czy Twój system spełnia wymagania.

Jak zaprojektować interfejs użytkownika do generowania plików PDF?

Teraz dodaj etykietę i ustaw tekst na "Utwórz plik PDF z HTML za pomocą IronPDF".

Środowisko Visual Studio IDE z aplikacją Windows Forms z projektantem formularzy pokazującym etykietę z napisem 'Stwórz PDF z HTML przy użyciu IronPDF'

Następnie dodaj pole tekstowe Rich Text Box i przycisk z panelu narzędzi. Ustaw tekst przycisku na "Konwertuj".

Interfejs aplikacji Windows Form pokazujący pole tekstowe i przycisk Konwertuj do tworzenia PDF z HTML przy użyciu IronPDF

Dlaczego używać RichTextBox zamiast zwykłego TextBox?

RichTextBox oferuje kilka zalet dla danych wejściowych HTML w scenariuszach generowania PDF:

  1. Wsparcie dla wielu linii: HTML zazwyczaj obejmuje wiele linii, a RichTextBox obsługuje to naturalnie, podczas gdy TextBox wymaga ustawienia Multiline = true.

  2. Zachowanie formatowania: Podczas gdy wprowadzamy zwykły HTML, RichTextBox zachowuje formatowanie, takie jak wcięcia i znaki nowej linii, co sprawia, że HTML jest bardziej czytelny podczas tworzenia.

  3. Większa pojemność: RichTextBox może obsługiwać większe ilości tekstu, co jest przydatne przy pracy z pełnymi dokumentami HTML zamiast fragmentami.

  4. Potencjalne podświetlanie składni: Chociaż nie jest to zaimplementowane w tym prostym przykładzie, RichTextBox można rozszerzyć o podświetlanie składni dla HTML, poprawiając doświadczenie dewelopera.

W przypadku aplikacji produkcyjnych warto rozważyć użycie dedykowanego kontrolki edytora HTML lub integrację z zewnętrznymi edytorami, aby zapewnić użytkownikom lepsze wrażenia.

Jakie inne elementy sterujące mogłyby ulepszyć interfejs użytkownika?

Aby stworzyć bardziej niezawodną aplikację do generowania plików PDF, rozważ dodanie następujących elementów sterujących:

  1. WebBrowser Kontrola: Wyświetlaj podgląd HTML przed konwersją, pomagając użytkownikom zobaczyć, jak będzie wyglądał ich PDF. To naśladuje silnik renderowania Chrome IronPDF.

  2. ProgressBar: Pokazuj postęp konwersji dla dużych dokumentów lub operacji zbiorczych.

  3. ComboBox dla szablonów: Dostarczaj wstępnie zdefiniowane szablony HTML dla typowych dokumentów, takich jak faktury czy raporty.

  4. PropertyGrid: Pozwól użytkownikom modyfikować ustawienia renderowania PDF, takie jak rozmiar strony, marginesy i orientacja.

  5. TabControl: Podziel dane wejściowe HTML, podgląd i ustawienia PDF na zorganizowane zakładki.

Przykład dodania paska stanu do informacji zwrotnej:

// Add to your form
StatusStrip statusStrip = new StatusStrip();
ToolStripStatusLabel statusLabel = new ToolStripStatusLabel("Ready");
statusStrip.Items.Add(statusLabel);
this.Controls.Add(statusStrip);

Jak nazwać moje kontrolki zgodnie z najlepszymi praktykami?

Stosowanie spójnych konwencji nazewniczych poprawia czytelność kodu i ułatwia jego utrzymanie. Oto zalecane praktyki dotyczące formularza generowania plików PDF:

  1. Użyj opisowych prefiksów:

    • txtHtml dla danych wejściowych HTML RichTextBox
    • btnConvert dla przycisku Konwertuj
    • lblTitle dla etykiety tytułowej
  2. Bądź konsekwentny: Wybierz either camelCase lub PascalCase i trzymaj się tego w całym projekcie.

  3. Unikaj domyślnych nazw: Zastąp richTextBox1 znaczącymi nazwami, takimi jak rtbHtmlInput.

  4. Grupowanie powiązanych elementów sterujących: W przypadku złożonych formularzy należy stosować prefiksy grupujące funkcje:

    • pdfPageSize, pdfOrientation dla ustawień specyficznych dla PDF
    • htmlTemplate, htmlPreview dla kontrolowanych związanych z HTML
  5. Rozważ dostępność: Ustaw właściwość Name dla czytników ekranowych i AccessibleName dla lepszej użyteczności.

Dobre nazewnictwo sprawia, że kod jest samodokumentujący się i pomaga przy wdrażaniu funkcji takich jak ekstrakcja danych z formularzy.

Jak napisać kod do konwersji HTML na PDF?

Kliknij dwukrotnie przycisk "Konwertuj". Otworzy się okno kodu z przyciskiem konwersji.

Środowisko Visual Studio IDE pokazujące kod C# dla Windows Forms z częściową klasą Form1 zawierającą pusty zarządzający zdarzeniem btnConvert_Click do tworzenia PDF-ów przy użyciu IronPDF

Dodaj kod importowania biblioteki IronPDF na górze pliku .cs.

Najpierw dodaj poniższy kod, aby korzystać z metod biblioteki IronPDF.

using IronPdf;

Poniżej znajduje się początkowy kod do zdarzenia btnConvert_Click, który jest obecnie pusty:

private void btnConvert_Click(object sender, EventArgs e)
{

}

Teraz napisz następujący kod w zdarzeniu kliknięcia przycisku:

private void btnConvert_Click(object sender, EventArgs e)
{
    // Declare an HtmlToPdf object
    var HtmlLine = new HtmlToPdf();
    
    // Get HTML text from the user
    string strHtml = txtHtml.Text;
    
    // Create SaveFileDialog to choose the save path for the PDF file
    SaveFileDialog saveFileDialog = new SaveFileDialog
    {
        InitialDirectory = @"D:\",
        Title = "Save PDF",
        CheckPathExists = true,
        DefaultExt = "pdf",
        Filter = "pdf files (*.pdf)|*.pdf",
        FilterIndex = 2,
        RestoreDirectory = true
    };

    // If the user presses Save
    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
        // Get the file path from the user
        string filePath = saveFileDialog.FileName;

        // Convert HTML to PDF and save at the specified path
        using var PDF = HtmlLine.RenderHtmlAsPdf(strHtml);
        PDF.SaveAs(filePath);

        // Clear the TextBox and show a message confirming the successful creation
        txtHtml.Text = "";
        MessageBox.Show("File created successfully.");
    }
}

Wyjaśnienie:

  • Obiekt HtmlToPdf jest tworzony do wykorzystania możliwości konwersji IronPDF.
  • Dane wejściowe HTML są pobierane z pola tekstowego.
  • SaveFileDialog jest używany do monitowania użytkownika o określenie, gdzie ma być zapisany wynikowy plik PDF.
  • Jeśli użytkownik wybierze lokalizację pliku i naciśnie przycisk Zapisz, ścieżka zostanie pobrana.
  • Dane wejściowe HTML są następnie renderowane do PDF przy użyciu RenderHtmlAsPdf i zapisywane na wybranej ścieżce.
  • Po zapisaniu pole tekstowe jest czyszczone, a na ekranie pojawia się okno z komunikatem potwierdzającym utworzenie pliku PDF.

Jakie obsługa błędów powinienem dodać do tego kodu?

Solidna obsługa błędów ma kluczowe znaczenie dla aplikacji do generowania plików PDF w środowisku produkcyjnym. Oto ulepszona wersja z kompleksową obsługą błędów:

private void btnConvert_Click(object sender, EventArgs e)
{
    try
    {
        // Validate input
        if (string.IsNullOrWhiteSpace(txtHtml.Text))
        {
            MessageBox.Show("Please enter HTML content.", "Validation Error", 
                MessageBoxButtons.OK, MessageBoxIcon.Warning);
            return;
        }

        var renderer = new ChromePdfRenderer();
        string strHtml = txtHtml.Text;
        
        SaveFileDialog saveFileDialog = new SaveFileDialog
        {
            InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
            Title = "Save PDF",
            CheckPathExists = true,
            DefaultExt = "pdf",
            Filter = "pdf files (*.pdf)|*.pdf",
            FilterIndex = 1,
            RestoreDirectory = true
        };

        if (saveFileDialog.ShowDialog() == DialogResult.OK)
        {
            try
            {
                // Show progress cursor
                Cursor.Current = Cursors.WaitCursor;
                
                using var pdf = renderer.RenderHtmlAsPdf(strHtml);
                pdf.SaveAs(saveFileDialog.FileName);
                
                txtHtml.Text = "";
                MessageBox.Show("PDF created successfully!", "Success", 
                    MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (IronPdf.Exceptions.IronPdfProductException ex)
            {
                // Handle licensing issues
                MessageBox.Show($"Licensing error: {ex.Message}", "License Error", 
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show($"An error occurred: {ex.Message}", "Error", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        // Log the full exception for debugging
        System.Diagnostics.Debug.WriteLine(ex.ToString());
    }
}

Kluczowe ulepszenia w zakresie obsługi błędów:

  • Sprawdzanie poprawności danych wejściowych przed przetworzeniem
  • Specjalne postępowanie w przypadku wyjątków dotyczących licencji IronPDF
  • Wskazanie postępu poprzez zmiany kursora
  • Prawidłowe rejestrowanie wyjątków na potrzeby debugowania
  • Przyjazne dla użytkownika komunikaty o błędach

Jak mogę dostosować ustawienia pliku PDF, takie jak rozmiar strony?

IronPDF zapewnia szerokie możliwości dostosowywania poprzez klasę ChromePdfRenderOptions. Oto jak wdrożyć typowe dostosowania:

private void ConvertWithCustomSettings()
{
    var renderer = new ChromePdfRenderer();
    
    // Configure rendering options
    renderer.RenderingOptions = new ChromePdfRenderOptions
    {
        // Page setup
        PaperSize = PdfPaperSize.A4,
        PaperOrientation = PdfPaperOrientation.Portrait,
        MarginTop = 25,    // millimeters
        MarginBottom = 25,
        MarginLeft = 20,
        MarginRight = 20,
        
        // Rendering behavior
        EnableJavaScript = true,
        RenderDelay = 500, // milliseconds
        CreatePdfFormsFromHtml = true,
        
        // Headers and footers
        TextHeader = new TextHeaderFooter
        {
            CenterText = "My Document",
            FontSize = 12,
            DrawDividerLine = true
        },
        TextFooter = new TextHeaderFooter
        {
            RightText = "Page {page} of {total-pages}",
            FontSize = 10
        }
    };
    
    // Apply custom CSS for print
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    
    // Generate PDF with custom settings
    var pdf = renderer.RenderHtmlAsPdf(txtHtml.Text);
    pdf.SaveAs("custom-output.pdf");
}

Aby uzyskać bardziej zaawansowane opcje dostosowywania, zapoznaj się z niestandardowymi rozmiarami papieru, niestandardowymi marginesami i ustawieniami okna wyświetlania.

Dlaczego warto używać instrukcji Using do generowania plików PDF?

Instrukcja using jest niezbędna dla właściwego zarządzania zasobami podczas generowania PDF:

  1. Automatyczne usuwanie: Dokumenty PDF mogą zajmować dużo pamięci, zwłaszcza jeśli zawierają obrazy lub duże ilości treści. Instrukcja using zapewnia prawidłowe usunięcie obiektu PDF po użyciu.

  2. Zwolnienie uchwytu pliku: Bez odpowiedniego zwolnienia uchwyty plików mogą pozostać zablokowane, uniemożliwiając dalsze operacje na pliku PDF.

  3. Zarządzanie pamięcią: silnik renderujący IronPDF wykorzystuje zasoby natywne, które muszą zostać zwolnione, aby zapobiec wyciekom pamięci w długo działających aplikacjach.

Oto porównanie wzorców:

// Recommended approach with using
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
} // Resources automatically released here

// Alternative with try-finally (more verbose)
PdfDocument pdf = null;
try
{
    pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("output.pdf");
}
finally
{
    pdf?.Dispose();
}

Dla operacji asynchronicznych, użyj await using w C# 8.0+:

await using var pdf = await renderer.RenderHtmlAsPdfAsync(html);

Jakie popularne tagi HTML sprawdzają się najlepiej?

Silnik renderujący IronPDF dla przeglądarki Chrome obsługuje wszystkie nowoczesne tagi HTML5, ale niektóre z nich sprawdzają się szczególnie dobrze przy generowaniu plików PDF:

Struktura dokumentu:

<html>
<head>
    <meta charset="UTF-8">
    <style>
        @media print { /* PDF-specific styles */ }
        body { font-family: Arial, sans-serif; }
        .page-break { page-break-after: always; }
    </style>
</head>
<body>
    <h1>Document Title</h1>
    <div class="page-break"></div>
    <h2>New Page Content</h2>
</body>
</html>
HTML

Najskuteczniejsze tagi dla plików PDF:

  • <h1> do <h6>: Tworzy jasną hierarchię dokumentów
  • <table>: Doskonały dla danych strukturalnych i faktur
  • <img>: Obsługuje osadzone obrazy i dane base64
  • <div> z CSS: Precyzyjna kontrola układu
  • <p> i <span>: Standardowe formatowanie tekstu
  • <ul> i <ol>: Czyste formatowanie list

Szczególne uwagi:

Jak przetestować aplikację do generowania plików PDF?

Po uruchomieniu projektu zobaczysz następujący ekran:

Aplikacja okienkowa z polem tekstowym zawierającym kod HTML dla prostego pliku PDF i przycisk Konwertuj

Wprowadź kod HTML w RichTextBox, na przykład:

<h1>A Simple PDF File</h1><br><h6>Heading 6</h6>
HTML

Kliknij "Konwertuj". Pojawi się okno dialogowe zapisu pliku.

Okno dialogowe zapisywania PDF w systemie Windows pokazujące przeglądarkę plików z wybranym dyskiem roboczym i nazwą pliku HtmlToPDF

Po kliknięciu przycisku "Zapisz" plik zostanie zapisany w określonej ścieżce z podaną nazwą i lokalizacją.

Które elementy HTML należy przetestować w pierwszej kolejności?

Zacznij od tych przykładów HTML o rosnącym stopniu złożoności, aby zrozumieć możliwości renderowania IronPDF:

Podstawowe formatowanie tekstu:

<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        .highlight { background-color: yellow; }
        .important { color: red; font-weight: bold; }
    </style>
</head>
<body>
    <h1>Test Document</h1>
    <p>This is <strong>bold</strong> and <em>italic</em> text.</p>
    <p class="highlight">Highlighted text example.</p>
    <p class="important">Important notice!</p>
</body>
</html>
HTML

Tabela ze stylizacją:

<table style="border-collapse: collapse; width: 100%;">
    <tr style="background-color: #f2f2f2;">
        <th style="border: 1px solid #ddd; padding: 8px;">Product</th>
        <th style="border: 1px solid #ddd; padding: 8px;">Price</th>
    </tr>
    <tr>
        <td style="border: 1px solid #ddd; padding: 8px;">IronPDF</td>
        <td style="border: 1px solid #ddd; padding: 8px;">$999</td>
    </tr>
</table>
HTML

Funkcje zaawansowane:

<!-- Images -->
<img src="___PROTECTED_URL_118___" width="200" alt="Company Logo">

<!-- Page breaks -->
<div style="page-break-after: always;"></div>

<!-- Lists -->
<ul>
    <li>First item</li>
    <li>Second item</li>
</ul>
HTML

Przetestuj te elementy, aby upewnić się, że konwersja HTML do PDF działa zgodnie z oczekiwaniami.

Jak mogę debugować, jeśli plik PDF nie jest generowany?

W przypadku niepowodzenia generowania pliku PDF należy postępować zgodnie z poniższą systematyczną procedurą debugowania:

  1. Włącz rejestrowanie:
IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "IronPdfLog.txt";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;
  1. Sprawdź poprawność kodu HTML:
// Validate HTML before conversion
private bool IsValidHtml(string html)
{
    try
    {
        var doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(html);
        return doc.ParseErrors.Count() == 0;
    }
    catch
    {
        return false;
    }
}
  1. Use Chrome DevTools:
  • Zapisz kod HTML do pliku i otwórz go w przeglądarce Chrome
  • Naciśnij klawisz F12, aby sprawdzić, czy nie ma błędów JavaScript
  • Sprawdź konsolę pod kątem problemów
  • Użyj podglądu wydruku w przeglądarce Chrome, aby sprawdzić, jak będzie wyglądał wydruk
  1. Typowe problemy i rozwiązania:
  1. Przetestuj minimalny przykład:
// Start with the simplest possible HTML
var testHtml = "<h1>Test</h1>";
var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(testHtml);
pdf.SaveAs("test.pdf");

Jakie są typowe problemy podczas uruchamiania aplikacji?

Oto najczęstsze problemy, z jakimi borykają się początkujący programiści, oraz ich rozwiązania:

  1. "IronPdf.Exceptions.IronPdfDeploymentException"

  2. Błędy "Odmowa dostępu"

    • Nie zapisuj w katalogach chronionych (C:, Program Files)
    • Użycie Environment.SpecialFolder dla bezpiecznych ścieżek
    • Sprawdź uprawnienia IIS dla aplikacji internetowych
  3. Duże rozmiary plików

    pdf.CompressImages(90); // 90% quality
  4. Niska wydajność

  5. Brakująca treść

W przypadku utrzymujących się problemów należy zapoznać się z obszernym przewodnikiem dotyczącym rozwiązywania problemów.

Jak wygląda ostateczny plik PDF?

Wynikowy dokument PDF będzie wyglądał następująco:

Zrzut ekranu prostego pliku PDF wyświetlający tytuł 'Prosty plik PDF' i tekst 'Nagłówek 6' na białym tle

Jak mogę poprawić jakość pliku PDF?

Popraw jakość swoich plików PDF dzięki tym profesjonalnym technikom:

  1. Renderowanie w wysokiej rozdzielczości:
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.ImageQuality = 95; // Higher quality for images
renderer.RenderingOptions.DPI = 300; // Print-quality resolution
  1. Profesjonalny styl:
<style>
    @page {
        size: A4;
        margin: 2cm;
    }
    body {
        font-family: 'Segoe UI', Tahoma, sans-serif;
        line-height: 1.6;
        color: #333;
    }
    h1 {
        color: #2c3e50;
        border-bottom: 2px solid #3498db;
        padding-bottom: 10px;
    }
</style>
HTML
  1. Dodaj elementy wizualne:
  1. Optymalizacja pod kątem różnych zastosowań:

Dlaczego wynik może wyglądać inaczej niż oczekiwano?

Kilka czynników może powodować różnice w renderowaniu między podglądem HTML a plikiem PDF:

  1. Typy mediów CSS: Pliki PDF domyślnie wykorzystują media PRINT. Dodaj style specyficzne dla druku:
@media print {
    .no-print { display: none; }
    body { font-size: 12pt; }
}
Text
  1. Dostępność czcionek: Osadź czcionki niestandardowe, aby zapewnić spójność:
@font-face {
    font-family: 'MyFont';
    src: url('data:font/woff2;base64,...') format('woff2');
}
Text
  1. Treści dynamiczne: Treści renderowane przez JavaScript potrzebują czasu na załadowanie:
renderer.RenderingOptions.RenderDelay = 2000; // Wait 2 seconds
  1. Różnice między przeglądarkami: IronPDF korzysta z silnika Chromium, dlatego w celu uzyskania dokładnego podglądu należy przeprowadzić testy w przeglądarce Chrome. Dowiedz się więcej o rendererze Chrome.

  2. Rozdzielczość i skalowanie: DPI monitora różni się od DPI PRINT. Użyj ustawień okna wyświetlania, aby zapewnić spójne renderowanie.

Aby uzyskać renderowanie z dokładnością co do piksela, postępuj zgodnie z przewodnikiem najlepszych praktyk dotyczących konwersji HTML do PDF.

Jakie są kolejne kroki po tym samouczku?

Powyższy samouczek wyjaśnia, jak utworzyć plik PDF z HTML przy użyciu biblioteki IronPDF.

Więcej informacji można znaleźć na oficjalnej stronie IronPDF. Biblioteka oferuje również inne funkcje, które umożliwiają pełną personalizację plików PDF, programowe łączenie i dzielenie plików lub po prostu przeglądanie przykładowych kodów ilustrujących różne funkcje.

Możesz to sprawdzić, korzystając z klucza 30-dniowego okresu próbnego. Obecnie dostępna jest doskonała oferta, w ramach której można otrzymać pięć produktów Iron Software w cenie zaledwie dwóch. Więcej informacji na temat licencji można znaleźć w sekcji Informacje o licencjach IronPDF.

Jakie zaawansowane funkcje powinienem opanować w następnej kolejności?

Po opanowaniu podstaw konwersji HTML do PDF zapoznaj się z tymi zaawansowanymi funkcjami:

  1. Formularze PDF: Twórz formularze do wypełnienia w celu gromadzenia danych:
// Create interactive form fields
pdf.Form.Fields.Add(new PdfTextField("name", "Enter your name", 100, 100));
  1. Podpisy cyfrowe: zwiększ bezpieczeństwo i autentyczność dokumentów

  2. PDF Manipulation:

  3. Zaawansowane renderowanie:

  4. Optymalizacja wydajności:

    • Asynchroniczne renderowanie dla aplikacji internetowych
    • Przetwarzanie wsadowe wielu dokumentów
    • Strumieniowanie oszczędzające pamięć

Zacznij od funkcji najbardziej istotnych dla wymagań Twojego projektu.

Jak przejść z wersji próbnej do produkcyjnej?

Przejście z wersji próbnej do produkcyjnej obejmuje kilka ważnych kroków:

  1. Wybierz odpowiednią licencję:

    • Lite: Jeden programista, jeden projekt
    • Plus: Jeden programista, wiele projektów
    • Professional: Małe zespoły (do 3 programistów)
    • Nieograniczona: zespoły korporacyjne
  2. Zastosuj swój klucz licencyjny:

// In application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

// Or via configuration
// appsettings.json (for .NET Core)
{
  "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY"
}
  1. Usuń znaki wodne wersji próbnej: Wersje licencjonowane automatycznie usuwają znaki wodne wersji próbnej ze wszystkich wygenerowanych plików PDF.

  2. Kwestie związane z wydajnością:

  3. Lista kontrolna wdrożenia:

Szczegółowe wytyczne dotyczące licencji można znaleźć w sekcji FAQ dotyczącej licencji.

Gdzie mogę znaleźć bardziej złożone przykłady?

Poszerz swoją wiedzę o IronPDF dzięki tym obszernym zasobom:

  1. Biblioteka przykładów kodu:

  2. Seria samouczków:

  3. Przewodniki integracji:

  4. Dokumentacja API:

    • Kompleksowe opisy klas
    • Sygnatury metod i parametry
    • Fragmenty kodu dla każdej funkcji
  5. Zasoby społeczności:

Zacznij od przykładów najbardziej zbliżonych do Twojego przypadku użycia i stopniowo odkrywaj bardziej zaawansowane funkcje w miarę potrzeb.

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