IRONSOFTWAREHOME

Jak używać języka C# do konwersji HTML na PDF za pomocą IronPDF w usłudze Azure Function

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

IronPDF generuje, przetwarza i odczytuje dokumenty PDF na platformach Azure, w tym na stronach internetowych MVC i w Azure Functions. W niniejszym przewodniku pokazano, jak zaimplementować konwersję HTML na PDF w Azure Functions z odpowiednią konfiguracją i optymalizacją dla środowisk produkcyjnych.

Jeśli uruchamiasz funkcje Azure w kontenerze Docker, odnieś się do tego poradnika Azure Docker Linux.

Szybki start: Konwersja HTML do PDF za pomocą IronPDF na platformie Azure

Zacznij konwertować HTML na PDF w swoich aplikacjach Azure za pomocą IronPDF. Ten krótki poradnik demonstruje jak generować dokument PDF z URL przy użyciu metod API IronPDF. Ten przykład pokazuje, jak łatwo można zintegrować funkcje PDF z rozwiązaniami Azure dzięki IronPDF. Postępuj zgodnie z przykładem, aby rozpocząć generowanie plików PDF bez utraty formatowania i szybko uruchomić swój projekt w Azure.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Skopiuj i uruchom ten fragment kodu.

    var pdf = new IronPdf.ChromePdfRenderer()
        .RenderHtmlAsPdf("<h1>Hello Azure!</h1>")
        .SaveAs("output-azure.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

Poradnik "Jak to zrobić"

Jak skonfigurować projekt?

Który pakiet IronPDF powinienem zainstalować?

Pierwszym krokiem jest zainstalowanie IronPDF za pomocą NuGet:

PM > Install-Package IronPdf

Alternatywnie można ręcznie zainstalować plik .dll, korzystając z linku do bezpośredniego pobrania pakietu IronPDF dla platformy Azure.

Aby uzyskać informacje na temat bardziej zaawansowanych opcji instalacji, zapoznaj się z naszym obszernym przewodnikiem po pakietach NuGet.

Jakie opcje platformy Azure muszę skonfigurować?

Który poziom hostingu Azure powinienem wybrać?

Azure Basic B1 to minimalny poziom hostingu wymagany do renderowania. Jeśli tworzysz system o dużej przepustowości, może wymagać aktualizacji. Poziom B1 zapewnia wystarczające zasoby dla Chrome PDF Rendering Engine, który zasila konwersję HTML na PDF w IronPDF.

Ostrzeżenie: Brak wyboru typu planu jako App service plan może skutkować niepowodzeniem rendowania dokumentów PDF przez IronPDF.
Formularz tworzenia aplikacji Azure Function App z opcją planu usługi aplikacji zaznaczoną w menu rozwijanym "Typ planu"

Dlaczego warto odznaczyć opcję "Uruchom z pliku pakietu"?

Przy publikowaniu aplikacji Azure Functions upewnij się, że Run from package file NIE jest zaznaczona. Ta opcja tworzy wdrożenie tylko do odczytu, które uniemożliwia IronPDF pobieranie niezbędnych zależności środowiska uruchomieniowego podczas wykonywania.

Okno dialogowe publikowania Azure Functions Functions z niezaznaczoną opcją "Uruchom z pliku pakietu (zalecane)"

Jak skonfigurować .NET 6?

Microsoft niedawno usunął biblioteki obrazówania z .NET 6+, co spowodowało problemy z wieloma starszymi interfejsami API. W związku z tym konieczne jest skonfigurowanie projektu, aby nadal umożliwiał te wywołania interfejsu API.

  1. Na Linux, ustaw Installation.LinuxAndDockerDependenciesAutoConfig=true;, aby zapewnić, że libgdiplus jest zainstalowana na maszynie.

  2. Dodaj następujące do pliku .csproj dla projektu .NET 6:

    <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
    XML
  3. Utwórz plik w swoim projekcie nazwany runtimeconfig.template.json i wypełnij go następującymi danymi:

    {
      "configProperties": {
        "System.Drawing.EnableUnixSupport": true
      }
    }
    JSON
  4. Na koniec dodaj następującą linię na początku programu, aby włączyć wsparcie Unix dla System.Drawing:

    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);

Kiedy należy używać Docker na platformie Azure?

Jednym ze sposobów na uzyskanie kontroli, dostępu do czcionek SVG oraz możliwości sterowania wydajnością w Azure jest użycie aplikacji i funkcji IronPDF z poziomu kontenerów Docker. Takie podejście zapewnia lepszą kontrolę nad środowiskiem uruchomieniowym i eliminuje wiele ograniczeń związanych z konkretną platformą.

Mamy obszerny samouczek dotyczący IronPDF Azure Docker dla instancji Linux i Windows, który warto przeczytać.

Jak wygląda kod funkcji Azure?

Ten przykład automatycznie zapisuje wpisy logów w wbudowanym loggerze Azure (zobacz ILogger log). Szczegółowe informacje na temat konfiguracji rejestrowania można znaleźć w naszym przewodniku po rejestrowaniu niestandardowym.

[FunctionName("PrintPdf")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log, ExecutionContext context)
{
    log.LogInformation("Entered PrintPdf API function...");

    // Apply license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Configure logging
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.Custom;
    IronPdf.Logging.Logger.CustomLogger = log;
    IronPdf.Logging.Logger.EnableDebugging = false;

    // Configure IronPdf settings
    Installation.LinuxAndDockerDependenciesAutoConfig = false;
    Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;

    try
    {
        log.LogInformation("About to render pdf...");
        
        // Create a renderer and render the URL as PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
        
        log.LogInformation("Finished rendering pdf...");
        
        // Return the rendered PDF as a file download
        return new FileContentResult(pdf.BinaryData, "application/pdf") { FileDownloadName = "google.pdf" };
    }
    catch (Exception e)
    {
        log.LogError(e, "Error while rendering pdf");
    }

    return new OkObjectResult("OK");
}

Przykład zaawansowanego renderowania ciągów znaków HTML

W przypadku bardziej złożonych scenariuszy z niestandardowym kodem HTML i stylami CSS można skorzystać z funkcji konwersji ciągu znaków HTML do formatu PDF:

[FunctionName("RenderHtmlWithCss")]
public static async Task<IActionResult> RenderHtmlWithCss(
    [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
    ILogger log)
{
    log.LogInformation("Processing HTML to PDF request");

    // Read HTML content from request body
    string htmlContent = await new StreamReader(req.Body).ReadToEndAsync();

    // Configure renderer with custom options
    var renderer = new ChromePdfRenderer()
    {
        RenderingOptions = new ChromePdfRenderOptions()
        {
            MarginTop = 20,
            MarginBottom = 20,
            MarginLeft = 10,
            MarginRight = 10,
            CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
            PrintHtmlBackgrounds = true,
            CreatePdfFormsFromHtml = true
        }
    };

    try
    {
        // Add custom CSS
        string styledHtml = $@"
            <html>
            <head>
                <style>
                    body {{font-family: Arial, sans-serif; padding: 20px;}}
                    h1 {{color: #2c3e50;}}
                    .highlight {{background-color: #f1c40f; padding: 5px;}}
                </style>
            </head>
            <body>
                {htmlContent}
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(styledHtml);
        
        return new FileContentResult(pdf.BinaryData, "application/pdf") 
        { 
            FileDownloadName = "styled-document.pdf" 
        };
    }
    catch (Exception ex)
    {
        log.LogError(ex, "Failed to render HTML to PDF");
        return new BadRequestObjectResult("Error processing HTML content");
    }
}
C#

Aby dowiedzieć się więcej o zarządzaniu licencjami w usłudze Azure Functions, zapoznaj się z dokumentacją Klucze licencyjne.

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

Jakie są znane problemy?

Dlaczego czcionki SVG nie renderują się na wspólnych planach hostingowych?

Jednym z ograniczeń jest to, że platforma hostingowa Azure nie obsługuje serwerów ładujących czcionki SVG, takie jak Google Fonts, w swoich tańszych warstwach współdzielonych aplikacji internetowych. Wynika to z ograniczeń bezpieczeństwa uniemożliwiających dostęp do obiektów graficznych Windows GDI+.

Zalecamy skorzystanie z przewodnika po kontenerach Docker dla systemów Windows lub Linux dla IronPDF lub ewentualnie z serwera VPS w Azure, aby rozwiązać ten problem w sytuacji, gdy wymagane jest najlepsze renderowanie czcionek.

Dlaczego hosting w ramach bezpłatnego pakietu Azure działa wolno?

Darmowe i współdzielone poziomy Azure oraz plan zużycia nie są odpowiednie do renderowania PDF. Zalecamy hosting Azure B1/plan Premium, którego sami używamy. Proces HTML to PDF jest znaczącą 'pracą' dla każdego komputera - podobnie jak otwarcie i renderowanie strony internetowej na własnym komputerze. Wykorzystywany jest prawdziwy silnik przeglądarki, dlatego musimy odpowiednio przygotować zasoby i oczekiwać czasu renderowania podobnego do maszyny desktopowej o podobnej mocy.

Jak mogę debugować Azure Functions lokalnie?

Dla lokalnego rozwoju i testowania odnieść się do naszego przewodnika Debugowanie projektu Azure Functions na lokalnej maszynie. To pomaga zidentyfikować i rozwiązać problemy przed wdrożeniem na Azure.

Gdzie mogę znaleźć dzienniki Azure?

Podczas rozwiązywania problemów z generowaniem PDF, dzienniki Azure są nieocenione. Sprawdź nasz przewodnik Pliki dziennika Azure dla instrukcji jak uzyskać dostęp do dzienników i je interpretować specyficznych dla operacji IronPDF.

Jak stworzyć zgłoszenie wsparcia inżynieryjnego?

Aby stworzyć zgłoszenie, odnieść się do przewodnika Jak złożyć zgłoszenie wsparcia inżynieryjnego dla IronPDF.

Najlepsze praktyki produkcyjne

  1. Zawsze używaj odpowiednich poziomów hostingu - B1 lub wyższy dla niezawodnej wydajności
  2. Prawidłowo skonfiguruj logowanie - Użyj Azure Application Insights do monitorowania produkcji
  3. Obsługuj wyjątki elegancko - Wprowadź logikę ponownych prób dla przejściowych błędów
  4. Optymalizuj treść HTML - Zminimalizuj zasoby zewnętrzne i używaj obrazów kodowanych base64 tam, gdzie to możliwe
  5. Dokładnie przetestuj - Zweryfikuj generowanie PDF lokalnie przed wdrożeniem w Azure
  6. Monitoruj wykorzystanie zasobów - Śledź zużycie pamięci i CPU, aby odpowiednio skalować

Często Zadawane Pytania

Jaki jest minimalny poziom hostingu Azure wymagany do generowania plików PDF?

IronPDF wymaga poziomu Azure Basic B1 jako minimalnego poziomu hostingu dla potrzeb renderowania plików PDF. Poziom B1 zapewnia wystarczające zasoby dla silnika renderowania PDF w przeglądarce Chrome, który obsługuje funkcje konwersji HTML na PDF w IronPDF.

Który pakiet powinienem zainstalować dla Azure Functions Functions opartych na systemie Windows?

W przypadku Azure Functions Functions opartych na systemie Windows należy zainstalować pakiet IronPdf z NuGet. Pakiet ten jest zoptymalizowany pod kątem środowisk Windows i zapewnia pełne możliwości generowania plików PDF przy użyciu silnika renderującego Chrome.

Jak przekonwertować HTML na PDF w Azure Functions?

Możesz przekonwertować HTML na PDF za pomocą jednej linii kodu, korzystając z ChromePdfRenderer firmy IronPDF. Wystarczy utworzyć nową instancję i wywołać metodę RenderHtmlAsPdf() z treścią HTML, a następnie zapisać wynikowy plik PDF.

Co się stanie, jeśli nie wybiorę odpowiedniego planu App Service?

Nieprawidłowy wybór typu planu usługi App może spowodować, że IronPDF nie będzie w stanie renderować dokumentów PDF. Prawidłowa konfiguracja środowiska hostingowego Azure jest niezbędna do prawidłowego działania silnika renderującego PDF.

Dlaczego podczas publikacji należy odznaczyć opcję „Uruchom z pliku pakietu”?

Podczas publikowania aplikacji Azure Functions należy odznaczyć opcję „Uruchom z pliku pakietu”, aby zapewnić, że IronPDF ma odpowiedni dostęp do swoich komponentów renderujących i zależności w środowisku Azure oraz może z nich korzystać.

Czy mogę używać Azure Functions opartych na systemie Linux do generowania plików PDF?

Tak, w przypadku Azure Functions opartych na systemie Linux należy użyć pakietu IronPdf.Linux z NuGet. Pakiet ten jest specjalnie zoptymalizowany pod kątem środowisk Linux, zapewniając jednocześnie te same możliwości generowania plików PDF.

Co zrobić, jeśli potrzebuję większej przepustowości przy generowaniu plików PDF?

W przypadku systemów o dużej przepustowości może być konieczna aktualizacja do poziomu wyższego niż B1. IronPDF skaluje się wraz z zasobami platformy Azure, umożliwiając obsługę zwiększonego zapotrzebowania na generowanie plików PDF poprzez wybór poziomów o wyższej wydajności.

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,667,543Wersja: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

Pobierz teraz

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.

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