IRONSOFTWAREHOME

Konwertuj HTML do PDF za uwierzytelnieniem logowania w C#

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Aby przekonwertować HTML na PDF za automatycznym logowaniem się w C#, użyj ChromeHttpLoginCredentials IronPDF do autoryzacji sieciowej lub pobierz HTML używając HttpClient przed konwersją. To podejście skutecznie obsługuje zarówno uwierzytelnienie sieciowe, jak i logowania w formularzach HTML.

Quickstart: Konwertuj HTML na PDF za logowaniem z IronPDF

Przekonwertuj strony HTML na PDF za formularzami logowania, używając API IronPDF. Ten przewodnik demonstruje ChromeHttpLoginCredentials dla autoryzacji i pozyskiwania chronionej zawartości. Obsługuj zarówno uwierzytelnienie sieciowe, jak i logowania w formularzach HTML z prostymi przykładami kodu.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Skopiuj i uruchom ten fragment kodu.

    new ChromePdfRenderer { LoginCredentials = new ChromeHttpLoginCredentials("username","password") }
        .RenderUrlAsPdf("https://example.com/protected")
        .SaveAs("secure.pdf");
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jakie są najlepsze praktyki obsługi uwierzytelniania logowania?

IronPDF wspiera sieciowe uwierzytelnienie TLS (nazwa użytkownika i hasło) poprzez ChromeHttpLoginCredentials API. Dla kompleksowych wskazówek dotyczących różnych scenariuszy logowania, zobacz poradnik logowań TLS Website & System.

Zalecanym podejściem jest użycie System.Net.WebClient lub HttpClient do pobierania HTML i zasobów. Ta metoda wspiera nagłówki, logowania i inne wymagania. Po pobraniu do pamięci lub na dysk, IronPDF konwertuje HTML do PDF. Wyodrębnij zasoby takie jak arkusze stylów i obrazy za pomocą HtmlAgilityPack, następnie pobierz z System.Net.WebClient.

// Your authentication token
string accessToken = "your-access-token";

// Download HTML content from a URL with authentication
using (WebClient client = new WebClient())
{
    // Add authentication headers if needed
    client.Headers.Add("Authorization", "Bearer " + accessToken);

    // Download the HTML string
    string html = client.DownloadString("http://www.example.com/protected-content");

    // Load the HTML into an HtmlDocument for parsing
    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(html);

    // Extract all image sources for downloading
    foreach(HtmlNode img in doc.DocumentNode.SelectNodes("//img"))
    {
        string imgSrc = img.GetAttributeValue("src", null);
        Console.WriteLine($"Found image: {imgSrc}");

        // Download each image asset
        if (!string.IsNullOrEmpty(imgSrc))
        {
            string fileName = Path.GetFileName(imgSrc);
            client.DownloadFile(imgSrc, fileName);
        }
    }

    // Convert the downloaded HTML to PDF
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("authenticated-content.pdf");
}
C#
Zwróć uwagę: Przekształć względne adresy URL na absolutne, korzystając z przeciążonego konstruktora System.Uri. Aby przekształcić wszystkie względne ścieżki w dokumencie HTML, dodaj znacznik <base> do nagłówka, używając HtmlAgilityPack. Przykład. Więcej informacji na temat obsługi URL-i i zasobów znajdziesz w przewodniku Base URLs & Asset Encoding.

Dlaczego powinienem najpierw pobrać zawartość HTML?

Pobieranie zawartości HTML przed konwersją oferuje kilka korzyści:

  1. Pełna kontrola: Modyfikuj HTML, naprawiaj uszkodzone linki lub wstawiaj tokeny uwierzytelniania przed konwersją
  2. Zarządzanie zasobami: Pobieraj i przechowuj zewnętrzne zasoby, takie jak obrazy, CSS i pliki JavaScript
  3. Elastyczność uwierzytelniania: Używaj dowolnego mechanizmu uwierzytelniania .NET, w tym OAuth, tokenów JWT lub niestandardowych nagłówków
  4. Wydajność: Przechowuj często dostępne treści, aby zmniejszyć obciążenie serwera
  5. Debugowanie: Sprawdź dokładny HTML przetwarzany w celu rozwiązania problemów

W przypadku złożonych scenariuszy uwierzytelniania obejmujących ciasteczka i sesje, zobacz przewodnik Cookies, który tłumaczy zarządzanie stanem uwierzytelnienia w trakcie konwersji PDF.

Jak obsługiwać zasoby takie jak obrazy i arkusze stylów?

Podczas konwersji uwierzytelnionych stron, zewnętrzne zasoby często wymagają tego samego uwierzytelnienia. Oto kompleksowe podejście wykorzystujące HttpClient:

public async Task<string> DownloadAuthenticatedHtmlWithAssets(string url, string authToken)
{
    using (var client = new HttpClient())
    {
        // Set authentication header
        client.DefaultRequestHeaders.Authorization = 
            new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authToken);
        
        // Download the main HTML
        string html = await client.GetStringAsync(url);
        
        // Parse HTML to find assets
        var doc = new HtmlDocument();
        doc.LoadHtml(html);
        
        // Create a base URI for resolving relative paths
        var baseUri = new Uri(url);
        
        // Download CSS files
        var cssLinks = doc.DocumentNode.SelectNodes("//link[@rel='stylesheet']");
        if (cssLinks != null)
        {
            foreach (var link in cssLinks)
            {
                string href = link.GetAttributeValue("href", "");
                if (!string.IsNullOrEmpty(href))
                {
                    var cssUri = new Uri(baseUri, href);
                    string cssContent = await client.GetStringAsync(cssUri);
                    
                    // Embed CSS directly in the HTML
                    var styleNode = doc.CreateElement("style");
                    styleNode.InnerHtml = cssContent;
                    doc.DocumentNode.SelectSingleNode("//head").AppendChild(styleNode);
                    
                    // Remove the external link
                    link.Remove();
                }
            }
        }
        
        // Return the modified HTML with embedded assets
        return doc.DocumentNode.OuterHtml;
    }
}

Jakie narzędzia pomagają z parsowaniem HTML?

Najpopularniejszą biblioteką do parsowania HTML dla .NET jest HtmlAgilityPack, ale istnieją alternatywy:

  1. HtmlAgilityPack: Najlepsza do ogólnego parsowania i manipulacji HTML
  2. AngleSharp: Nowoczesny, zgodny ze standardami parser HTML z obsługą selektorów CSS
  3. CsQuery: Składnia podobna do jQuery dla programistów C# zaznajomionych z jQuery
  4. Regular Expressions: Do prostych zadań ekstrakcji (niezalecane do skomplikowanego HTML)

ChromeHttpLoginCredentials

Jak zalogować się używając uwierzytelnienia sieciowego?

Większość aplikacji ASP.NET obsługuje uwierzytelnienie sieciowe, które jest bardziej niezawodne niż wysyłanie formularza HTML. IronPDF dostarcza wbudowane wsparcie dla podstawowego, digest i NTLM uwierzytelniania przez klasę ChromeHttpLoginCredentials. W celu dodatkowego dostosowania nagłówków zobacz przewodnik nagłówków żądań HTTP.

using IronPdf;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer
{
    // setting login credentials to bypass basic authentication
    LoginCredentials = new ChromeHttpLoginCredentials()
    {
        NetworkUsername = "testUser",
        NetworkPassword = "testPassword"
    }
};

var uri = new Uri("http://localhost:51169/Invoice");

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);

// Export PDF
pdf.SaveAs("UrlToPdfExample.Pdf");

Dlaczego uwierzytelnienie sieciowe jest bardziej niezawodne niż wysyłanie formularza?

Uwierzytelnienie sieciowe oferuje kilka korzyści w porównaniu do wysyłania formularza HTML:

  1. Ustandaryzowany protokół: Używa nagłówków uwierzytelniania HTTP zgodnie ze standardami RFC
  2. Integracja z przeglądarką: Silnik renderujący Chrome obsługuje uwierzytelnianie bezproblemowo
  3. Zarządzanie sesjami: Automatyczne obsługiwanie wyzwań uwierzytelniania i utrzymywanie sesji
  4. Bezpieczeństwo: Poświadczenia przesyłane bezpiecznie za pomocą nagłówków zamiast danych formularza
  5. Kompatybilność: Działa z większością systemów uwierzytelniania przedsiębiorstwa (Active Directory, LDAP)

Jakie dane uwierzytelniające są potrzebne do uwierzytelnienia sieciowego?

Różne typy uwierzytelnienia wymagają różnych danych uwierzytelniających:

// Basic Authentication (most common)
var basicAuth = new ChromeHttpLoginCredentials
{
    NetworkUsername = "user@domain.com",
    NetworkPassword = "password123"
};

// NTLM/Windows Authentication
var ntlmAuth = new ChromeHttpLoginCredentials
{
    NetworkUsername = "DOMAIN\\username", // Include domain
    NetworkPassword = "password123"
};

// Custom authentication headers
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HttpRequestHeaders = new Dictionary<string, string>
{
    { "X-API-Key", "your-api-key" },
    { "Authorization", "Bearer " + jwtToken }
};
C#

Jak rozwiązywać problemy z błędami uwierzytelnienia?

Typowe problemy z uwierzytelnieniem i rozwiązania:

  1. 401 Unauthorized: Sprawdź poświadczenia i typ uwierzytelniania
  2. 403 Forbidden: Użytkownik jest uwierzytelniony, ale nie ma uprawnień
  3. Błędy czasu oczekiwania: Zwiększ Timeout dla powolnych systemów uwierzytelniania
  4. Błędy certyfikatów: Skonfiguruj ustawienia TLS/SSL odpowiednio

Włącz debugowanie, aby zdiagnozować problemy:

// Enable detailed logging
IronPdf.Logging.Logger.EnableDebugging = true;
IronPdf.Logging.Logger.LogFilePath = "IronPdf.log";
IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

// Test authentication
try 
{
    var pdf = renderer.RenderUrlAsPdf("https://secure.example.com");
    pdf.SaveAs("authenticated.pdf");
}
catch (Exception ex)
{
    Console.WriteLine($"Authentication failed: {ex.Message}");
    // Check IronPdf.log for detailed error information
}

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak zalogować się używając formularza HTML?

Aby zalogować się, przesyłając dane do formularza HTML, użyj klasy ChromeHttpLoginCredentials. Zobacz ChromeHttpLoginCredentials API IronPDF.

Rozważ te punkty:

  • Prześlij dane logowania do URL wskazanego w atrybucie ACTION formularza HTML. Ustaw to jako atrybut LoginFormUrl w HttpLoginCredentials. To może się różnić od URL, który chcesz wyrenderować jako PDF.
  • Wyślij dane reprezentujące każdy input i textarea w formularzu HTML. Atrybuty name definiują każdą zmienną (nie id).
  • Niektóre strony aktywnie chronią przed logowaniem maszynowym.
// Configure form-based login
var formLogin = new ChromeHttpLoginCredentials
{
    LoginFormUrl = "https://example.com/login",
    LoginFormData = new Dictionary<string, string>
    {
        {"username", "user@example.com"},
        {"password", "securePassword123"},
        {"rememberMe", "true"},
        {"csrf_token", "abc123"} // Include any hidden fields
    }
};

var renderer = new ChromePdfRenderer
{
    LoginCredentials = formLogin,
    RenderingOptions = new ChromePdfRenderOptions
    {
        RenderDelay = 3000, // Allow time for login redirect
        EnableJavaScript = true
    }
};

// The actual page you want to convert (after login)
var pdf = renderer.RenderUrlAsPdf("https://example.com/dashboard");
pdf.SaveAs("dashboard.pdf");

Jakie dane formularza muszę pobrać?

Aby skutecznie przeprowadzić uwierzytelnienie przez formularze HTML, pobierz wszystkie wejścia formularza:

// Use this helper method to extract form fields
public Dictionary<string, string> ExtractFormFields(string loginPageHtml)
{
    var formData = new Dictionary<string, string>();
    var doc = new HtmlDocument();
    doc.LoadHtml(loginPageHtml);
    
    // Find all input fields
    var inputs = doc.DocumentNode.SelectNodes("//input");
    if (inputs != null)
    {
        foreach (var input in inputs)
        {
            string name = input.GetAttributeValue("name", "");
            string value = input.GetAttributeValue("value", "");
            string type = input.GetAttributeValue("type", "text");
            
            if (!string.IsNullOrEmpty(name))
            {
                // Handle different input types
                switch (type.ToLower())
                {
                    case "checkbox":
                        if (input.Attributes["checked"] != null)
                            formData[name] = "on";
                        break;
                    case "radio":
                        if (input.Attributes["checked"] != null)
                            formData[name] = value;
                        break;
                    default:
                        formData[name] = value;
                        break;
                }
            }
        }
    }
    
    // Don't forget select elements
    var selects = doc.DocumentNode.SelectNodes("//select");
    if (selects != null)
    {
        foreach (var select in selects)
        {
            string name = select.GetAttributeValue("name", "");
            var selected = select.SelectSingleNode(".//option[@selected]");
            if (selected != null && !string.IsNullOrEmpty(name))
            {
                formData[name] = selected.GetAttributeValue("value", "");
            }
        }
    }
    
    return formData;
}

Jak znaleźć poprawny URL akcji formularza?

URL akcji formularza jest kluczowy dla pomyślnego uwierzytelnienia:

public string ExtractFormAction(string loginPageUrl, string loginPageHtml)
{
    var doc = new HtmlDocument();
    doc.LoadHtml(loginPageHtml);
    
    // Find the login form
    var form = doc.DocumentNode.SelectSingleNode("//form[contains(@action, 'login') or contains(@id, 'login') or contains(@class, 'login')]");
    
    if (form == null)
    {
        // Try finding any form with password field
        form = doc.DocumentNode.SelectSingleNode("//form[.//input[@type='password']]");
    }
    
    if (form != null)
    {
        string action = form.GetAttributeValue("action", "");
        
        // Resolve relative URLs
        if (!string.IsNullOrEmpty(action))
        {
            var baseUri = new Uri(loginPageUrl);
            var actionUri = new Uri(baseUri, action);
            return actionUri.ToString();
        }
    }
    
    // Default to the login page URL if no action found
    return loginPageUrl;
}

Jakie są typowe problemy z uwierzytelnianiem opartym na formularzach?

  1. Tokeny CSRF: Wiele formularzy zawiera tokeny przeciwko fałszowaniu, które wygasają
  2. Walidacja JavaScript: Niektóre formularze wymagają wykonania JavaScript
  3. Uwierzytelnianie wieloetapowe: Formularze wymagające wielu stron
  4. Ochrona CAPTCHA: Wyzwania weryfikacji ludzkiej
  5. Wygasanie sesji: Sesje logowania wygasające szybko

ViewBag TempData Html

Dla kompleksowych wskazówek dotyczących konwersji HTML na PDF, w tym złożonych scenariuszy uwierzytelniania, odwiedź poradnik HTML na PDF.

Jak obsługiwać uwierzytelnienie MVC?

Poniższe obejście renderuje widok .NET MVC do ciągu programatycznie, unikając logowań MVC przy wiernym renderowaniu widoków. To podejście działa dobrze przy konwersji CSHTML do PDF w MVC Core lub MVC Framework.

// Converts an MVC partial view to a string
public static string RenderPartialViewToString(this Controller controller, string viewPath, object model = null)
{
    try
    {
        // Set the model
        var context = controller.ControllerContext;
        controller.ViewData.Model = model;

        using (var sw = new StringWriter())
        {
            // Find the partial view
            var viewResult = ViewEngines.Engines.FindPartialView(context, viewPath);

            if (viewResult.View == null)
            {
                throw new Exception($"Partial view {viewPath} could not be found.");
            }

            // Create a view context
            var viewContext = new ViewContext(context, viewResult.View, context.Controller.ViewData, context.Controller.TempData, sw);

            // Render the view
            viewResult.View.Render(viewContext, sw);
            viewResult.ViewEngine.ReleaseView(context, viewResult.View);

            return sw.GetStringBuilder().ToString();
        }
    }
    catch (Exception ex)
    {
        // Return error message if there is an exception
        return ex.Message;
    }
}

// Usage in an MVC Controller
public ActionResult GeneratePdf()
{
    // Render authenticated view to string
    var model = new InvoiceViewModel { /* populate model */ };
    string html = this.RenderPartialViewToString("~/Views/Invoice/Details.cshtml", model);
    
    // Convert to PDF
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(html);
    
    // Return PDF file
    return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
}

Dlaczego renderować widoki do ciągu zamiast bezpośrednio konwertować?

Renderowanie widoków MVC do ciągu oferuje kilka kluczowych korzyści:

  1. Kontekst uwierzytelniania: Widoki są renderowane w kontekście uwierzytelnionego użytkownika
  2. Pełen potok MVC: Wszystkie funkcje MVC działają w tym HtmlHelper, UrlHelper, i ViewBag pomoce
  3. Obsługa układu: Strony główne i układy są poprawnie wyświetlane
  4. Wiązanie modelu: Złożone modele widoków działają bez problemu
  5. Filtry akcji: Filtry bezpieczeństwa i logowania działają normalnie

Jakie są zalety tego obejścia MVC?

Podejście MVC polegające na renderowaniu ciągu oferuje:

  • Bezpieczeństwo: Bez potrzeby ujawniania wewnętrznych adresów URL lub omijania uwierzytelniania
  • Wydajność: Unikaj dodatkowych żądań HTTP
  • Konsekwencja: Identyczne wyjście do tego, co użytkownicy widzą w przeglądarkach
  • Elastyczność: Modyfikuj HTML przed konwersją PDF
  • Testowanie: Łatwe testowanie jednostkowe generacji HTML

Jak przekazywać modele do wyrenderowanego widoku?

Oto kompletny przykład złożonego modelu:

public class InvoiceController : Controller
{
    private readonly IInvoiceService _invoiceService;
    
    public async Task<ActionResult> DownloadInvoicePdf(int invoiceId)
    {
        // Load data within authenticated context
        var invoice = await _invoiceService.GetInvoiceAsync(invoiceId);
        
        if (invoice == null || invoice.UserId != User.Identity.GetUserId())
        {
            return HttpNotFound();
        }
        
        // Create view model
        var viewModel = new InvoiceDetailsViewModel
        {
            Invoice = invoice,
            Company = await _invoiceService.GetCompanyDetailsAsync(),
            LineItems = await _invoiceService.GetLineItemsAsync(invoiceId),
            TaxDetails = await _invoiceService.GetTaxDetailsAsync(invoiceId)
        };
        
        // Render to HTML string
        string html = this.RenderPartialViewToString("~/Views/Invoice/DetailsPdf.cshtml", viewModel);
        
        // Add custom styling for PDF
        html = $@"
            <html>
            <head>
                <style>
                    body {{font-family: Arial, sans-serif;}}
                    .invoice-header {{background-color: #f0f0f0; padding: 20px;}}
                    .line-items {{width: 100%; border-collapse: collapse;}}
                    .line-items th, .line-items td {{border: 1px solid #ddd; padding: 8px;}}
                </style>
            </head>
            <body>
                {html}
            </body>
            </html>";
        
        // Convert to PDF with options
        var renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                MarginTop = 20,
                MarginBottom = 20,
                MarginLeft = 10,
                MarginRight = 10,
                PrintHtmlBackgrounds = true
            }
        };
        
        var pdf = renderer.RenderHtmlAsPdf(html);
        
        // Add metadata
        pdf.MetaData.Author = "Invoice System";
        pdf.MetaData.Title = $"Invoice #{invoice.Number}";
        pdf.MetaData.CreationDate = DateTime.Now;
        
        return File(pdf.BinaryData, "application/pdf", $"Invoice-{invoice.Number}.pdf");
    }
}
C#

Przed wdrożeniem jakiegokolwiek rozwiązania uwierzytelniania, upewnij się, że poprawnie zainstalowałeś IronPDF i skonfigurowałeś swoje klucze licencyjne.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Odwiedź naszą stronę z poradnikami: Konwertuj PDF-y. RenderDelay

Często Zadawane Pytania

Jak moge przeksztalcic HTML na PDF, gdy tresc jest za formularzem logowania?

IronPDF udostepnia wiele podejsc do konwersji HTML na PDF za uwierzytelnianiem logowania. Mozesz uzyc ChromeHttpLoginCredentials API do uwierzytelniania sieci TLS, lub pobrac tresc HTML uzywajac System.Net.WebClient lub HttpClient z odpowiednimi naglowkami uwierzytelniajacymi przed przeksztalceniem jej na PDF z IronPDF.

Czym jest ChromeHttpLoginCredentials i jak to uzyc?

ChromeHttpLoginCredentials to API IronPDF do obslugi uwierzytelniania sieciowego. Mozesz z niego korzystac, ustawiajac wlasciwosc LoginCredentials na ChromePdfRenderer z twoja nazwa uzytkownika i haslem, co pozwoli IronPDF na automatyczne uwierzytelnienie podczas renderowania URL zabezpieczonych haslem na PDF.

Czy moge obsługiwać logowania oparte na formularzach HTML do konwersji PDF?

Tak, IronPDF wspiera logowania oparte na formularzach HTML. Zalecanym podejsciem jest uzycie System.Net.WebClient lub HttpClient do obslugi procesu logowania, pobranie uwierzytelnionej tresci HTML, a nastepnie uzycie metody RenderHtmlAsPdf IronPDF do konwersji pobranego HTML na PDF.

Jak moge pobrac zasoby HTML takie jak obrazy i arkusze stylow z uwierzytelnionych stron?

Mozesz uzyc HtmlAgilityPack do parsowania pobranej HTML i wyodrebniania URL zasobow, takich jak obrazy i arkusze stylow. Nastepnie uzyj System.Net.WebClient do pobrania kazdego zasobu z tymi samymi naglowkami uwierzytelniajacymi przed przeksztalceniem kompletnego pakietu HTML na PDF z IronPDF.

Jakie sa najlepsze praktyki dla obslugi tokenow lub naglowkow uwierzytelniajacych?

Kiedy uzywasz IronPDF z tokenami uwierzytelniajacymi, pobierz HTML uzywajac HttpClient lub WebClient z twoimi naglowkami uwierzytelniajacymi (takimi jak tokeny Bearer). Gdy juz bedziesz miec uwierzytelniona tresc HTML w pamieci lub zapisane na dysku, uzyj ChromePdfRenderer IronPDF, aby konwertowac ja na PDF.

Czy istnieje obejscie dla uwierzytelniania logowania MVC?

Tak, IronPDF oferuje obejscia dla scenariuszy uwierzytelniania logowania MVC. Zalecanym podejsciem jest najpierw uwierzytelnienie i pobranie tresci HTML uzywajac standardowych klientow HTTP .NET, a nastepnie przekazanie uwierzytelnionej HTML bezposrednio do silnika renderujacego IronPDF zamiast zlecania uwierzytelniania IronPDF.

How do I log in using HTML form authentication with IronPDF?

Using IronPDF, you can configure form-based login by providing URL and form data to 'ChromeHttpLoginCredentials'. Ensure all input data from the HTML form, including hidden fields like CSRF tokens, are captured accurately.

What common issues might arise with form-based authentication?

Common issues include handling CSRF tokens, JavaScript validations, multi-step processes, CAPTCHA requirements, and session timeouts. Properly addressing these can ensure smoother login processes for automated tasks.

How can I troubleshoot authentication failures with IronPDF?

Authentication issues can be addressed by verifying credentials, checking for 401 or 403 errors, adjusting timeout settings, ensuring proper TLS/SSL configuration, and enabling detailed logging to diagnose problems.

What are the advantages of rendering MVC views to strings before converting to PDF?

Rendering views to strings maintains the authentication context, supports MVC features, and allows modification of HTML before conversion. This approach ensures security, performance, and consistency, reflecting what users see in browsers.

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

Gotowy, aby rozpocząć?

Nuget Downloads 20,756,830Wersja:2026.7właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.7

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

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