Przejdź do treści stopki
KORZYSTANIE Z IRONPDF
Blazor HTML do PDF przy użyciu IronPDF

Stwórz plik PDF z przewodnika Blazor

IronPDF, renomowana biblioteka C#, współpracuje z aplikacjami Blazor. Ten przegląd poprowadzi Cię przez proces używania IronPDF do osadzenia raportu PDF w aplikacji Blazor, pokazując jego płynną integrację i skuteczność.

1. Funkcje IronPDF

Programiści mogą szybko tworzyć, odczytywać i przetwarzać dokumenty PDF przy pomocy solidnej biblioteki IronPDF .NET PDF. IronPDF posiada wbudowany silnik Chrome i oferuje bogactwo praktycznych i potężnych możliwości. Obejmują one możliwość konwersji HTML5, JavaScript, CSS i obrazów do formatu PDF, możliwość dodawania unikalnych nagłówków i stopek do dokumentów PDF oraz możliwość tworzenia plików PDF dokładnie tak, jak wyglądają w przeglądarce internetowej. IronPDF obsługuje różne technologie internetowe, w tym HTML, ASPX, Razor Pages i frameworki MVC.

Kluczowe cechy IronPDF są następujące:

2. Czym jest Blazor?

Blazor to framework aplikacji internetowych, który umożliwia tworzenie aplikacji internetowych po stronie klienta w językach C# i HTML przy użyciu Web Assembly.

Aplikacje Web Assembly są wysyłane do przeglądarki w formacie instrukcji binarnych, które mogą działać z prędkością zbliżoną do natywnej. Stworzyło to nowe możliwości dla języków takich jak C# do działania w przeglądarce.

Tworzenie nowego projektu w Visual Studio

Aby rozpocząć, otwórz aplikację Microsoft Visual Studio i wybierz opcję "Nowy projekt" z menu Plik. Następnie wybierz "Blazor Server App".

Samouczek tworzenia pliku PDF za pomocą Blazor, rysunek 1: Tworzenie nowego projektu w Visual Studio Tworzenie nowego projektu w Visual Studio

Wprowadź nazwę projektu i wybierz ścieżkę do pliku. Następnie kliknij przycisk Utwórz.

Samouczek tworzenia pliku PDF za pomocą Blazor, rysunek 2: Wybór nazwy i lokalizacji nowej aplikacji Blazor Wybór nazwy i lokalizacji nowej aplikacji Blazor

Wybierz żądany .NET Framework (w tym samouczku użyjemy .NET Framework 6.0), jak pokazano na poniższym zrzucie ekranu:

Samouczek tworzenia pliku PDF za pomocą Blazor, rysunek 3: Tworzenie nowego projektu w Visual Studio przy użyciu .NET Framework 6.0 Tworzenie nowego projektu w Visual Studio z wykorzystaniem .NET Framework 6.0

Microsoft Visual Studio wygeneruje teraz strukturę tej aplikacji Blazor.

Następnie dodaj bibliotekę IronPDF do tego nowego projektu.

3. Zainstaluj bibliotekę IronPDF

Bibliotekę IronPDF można pobrać i zainstalować na cztery sposoby:

  • Korzystanie z menedżera pakietów NuGet w Visual Studio
  • Korzystanie z wiersza poleceń programu Visual Studio
  • Pobieranie bezpośrednio ze strony NuGet
  • Pobieranie bezpośrednio ze strony internetowej IronPDF

3.1 Korzystanie z menedżera pakietów NuGet w Visual Studio

Visual Studio udostępnia menedżera pakietów NuGet, który ułatwia instalowanie bibliotek bezpośrednio w projektach. Poniższy zrzut ekranu pokazuje, jak otworzyć menedżera pakietów NuGet.

Samouczek tworzenia pliku PDF za pomocą Blazor, rysunek 4: Dostęp do menedżera pakietów NuGet w Visual Studio Dostęp do menedżera pakietów NuGet w Visual Studio

Użyj pola wyszukiwania w zakładce Przeglądaj, aby wyszukać "IronPDF", jak pokazano na poniższym zrzucie ekranu:

Samouczek tworzenia pliku PDF za pomocą Blazor, rysunek 5: Wyszukiwanie biblioteki IronPDF w interfejsie graficznym menedżera pakietów NuGet Wyszukiwanie biblioteki IronPDF w interfejsie graficznym menedżera pakietów NuGet

Na powyższym obrazku widoczna jest lista powiązanych wyników wyszukiwania. Wybierz wymagane opcje, aby zainstalować pakiet w swoim projekcie.

3.2 Korzystanie z wiersza poleceń programu Visual Studio

W programie Visual Studio przejdź do menu Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów

Wprowadź następujący wiersz w zakładce Konsola menedżera pakietów:

Install-Package IronPdf

Pakiet zostanie teraz pobrany i zainstalowany w bieżącym projekcie.

Samouczek tworzenia pliku PDF za pomocą Blazor, rysunek 6: Instalacja biblioteki IronPDF za pomocą konsoli menedżera pakietów NuGet Instalacja biblioteki IronPDF za pomocą konsoli NuGet Package Manager Console

3.3 Pobieranie bezpośrednio ze strony NuGet

Trzecim sposobem instalacji biblioteki IronPDF jest pobranie pakietu NuGet bezpośrednio ze strony internetowej.

Przejdź do strony NuGet poświęconej IronPDF.

  • Kliknij opcję "Pobierz pakiet" w menu po prawej stronie.
  • Otwórz pobrany pakiet w swoim systemie plików. Zostanie zainstalowany automatycznie.
  • Odśwież rozwiązanie i zacznij z niego korzystać w swoim projekcie.

3.4 Pobieranie bezpośrednio ze strony internetowej IronPDF

Odwiedź stronę internetową IronPDF, aby bezpośrednio pobrać pakiet IronPDF.

Po pobraniu wykonaj następujące kroki, aby dodać pakiet do swojego projektu:

  • Kliknij prawym przyciskiem myszy projekt w oknie rozwiązania.
  • Wybierz opcję "Dodaj" > "Odwołanie", a następnie przejdź do lokalizacji biblioteki, którą wcześniej pobrałeś.
  • Kliknij OK, aby dodać bibliotekę jako odwołanie.

4. Tworzenie dokumentów PDF w aplikacji Blazor Server

Aplikacja Blazor w tym samouczku będzie korzystać z IronPDF do pobierania treści HTML strony internetowej na podstawie jej adresu URL i konwertowania jej na dokument PDF.

Wprowadź poniższy kod źródłowy do pliku .razor znajdującego się w projekcie.

@using IronPdf

@code {
    /// <summary>
    /// This method exports data by converting a URL to a PDF file and initiating its download.
    /// </summary>
    public async Task ExportData()
    {
        try
        {
            string fileName = "Demo.pdf";
            var renderer = new ChromePdfRenderer();

            // Render the contents of the URL as a PDF document
            var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

            // Save the PDF using a JavaScript function
            await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
        }
        catch (Exception ex)
        {
            // Handle any exceptions that may occur
            Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
        }
    }
}
@using IronPdf

@code {
    /// <summary>
    /// This method exports data by converting a URL to a PDF file and initiating its download.
    /// </summary>
    public async Task ExportData()
    {
        try
        {
            string fileName = "Demo.pdf";
            var renderer = new ChromePdfRenderer();

            // Render the contents of the URL as a PDF document
            var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

            // Save the PDF using a JavaScript function
            await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
        }
        catch (Exception ex)
        {
            // Handle any exceptions that may occur
            Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
        }
    }
}
[using] ReadOnly Property code() As IronPdf
	''' <summary>
	''' This method exports data by converting a URL to a PDF file and initiating its download.
	''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	public async Task ExportData()
'	{
'		try
'		{
'			string fileName = "Demo.pdf";
'			var renderer = New ChromePdfRenderer();
'
'			' Render the contents of the URL as a PDF document
'			var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
'
'			' Save the PDF using a JavaScript function
'			await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
'		}
'		catch (Exception ex)
'		{
'			' Handle any exceptions that may occur
'			Console.@Error.WriteLine(string.Format("Error in ExportData: {0}", ex.Message));
'		}
'	}
End Property
$vbLabelText   $csharpLabel

Powyższy fragment kodu wykorzystuje dwie metody do generowania dokumentów PDF z HTML. Pierwsza z nich to metoda RenderUrlAsPdf firmy IronPDF, która pobiera zawartość HTML z podanego adresu URL i konwertuje ją do formatu PDF.

Drugą metodą jest metoda statyczna JSRuntime.InvokeVoidAsync, która uruchamia silnik JavaScript przeglądarki w celu wywołania funkcji JavaScript w zakresie strony internetowej, która zapisuje zawartość pliku PDF do pliku w systemie plików klienta.

Poniżej znajduje się ta funkcja JavaScript:

<script type="text/javascript">
    /**
     * Saves the PDF data as a file on the client's system.
     * @param {string} filename - The name of the file to be created.
     * @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
     */
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            // Download the document in Microsoft Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
<script type="text/javascript">
    /**
     * Saves the PDF data as a file on the client's system.
     * @param {string} filename - The name of the file to be created.
     * @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
     */
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            // Download the document in Microsoft Edge browser
            var data = window.atob(bytesBase64);
            var bytes = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                bytes[i] = data.charCodeAt(i);
            }
            var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
            navigator.msSaveBlob(blob, filename);
            window.navigator.msSaveOrOpenBlob(blob);
        }
        else {
            var link = document.createElement('a');
            link.download = filename;
            link.href = "data:application/octet-stream;base64," + bytesBase64;
            document.body.appendChild(link); // Needed for Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
HTML

Powyższa funkcja JavaScript odbiera dane Base64 z Blazora i konwertuje je na obiekt blob przed zapisaniem w lokalizacji po stronie klienta.

Alternatywnie, do zapisywania dokumentów PDF w lokalnej pamięci przeglądarki można również użyć metody SaveAs z klasy ChromePdfRenderer.

5. Utwórz dokument PDF na podstawie ciągu znaków HTML

Poniższy fragment kodu pokazuje, jak przekształcić ciąg znaków HTML w dokument.

@using IronPdf

@code {
    /// <summary>
    /// Demonstrates turning an HTML string into a PDF document.
    /// </summary>
    public void GeneratePdfFromHtmlString()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");

        // You can save the generated PDF locally
        pdf.SaveAs("HelloWorld.pdf");
    }
}
@using IronPdf

@code {
    /// <summary>
    /// Demonstrates turning an HTML string into a PDF document.
    /// </summary>
    public void GeneratePdfFromHtmlString()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");

        // You can save the generated PDF locally
        pdf.SaveAs("HelloWorld.pdf");
    }
}
[using] ReadOnly Property code() As IronPdf
	''' <summary>
	''' Demonstrates turning an HTML string into a PDF document.
	''' </summary>
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	public void GeneratePdfFromHtmlString()
'	{
'		var renderer = New ChromePdfRenderer();
'		var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
'
'		' You can save the generated PDF locally
'		pdf.SaveAs("HelloWorld.pdf");
'	}
End Property
$vbLabelText   $csharpLabel

W powyższym przykładzie użyto metody instancji RenderHtmlAsPdf do przekształcenia dowolnego ciągu znaków HTML w zawartość pliku PDF. Ponadto w opisanych wcześniej procedurach można użyć metody SaveAs, aby zapisać tę zawartość na komputerze klienta.

Samouczek tworzenia pliku PDF za pomocą Blazor, rysunek 7: Aplikacja do generowania plików PDF w Blazor utworzona w tym samouczku Aplikacja do generowania plików PDF w Blazorze utworzona w tym samouczku

Powyższy zrzut ekranu przedstawia aplikację internetową opracowaną w ramach tego samouczka. Kliknięcie przycisku Pobierz uruchomi kod C# w celu wygenerowania treści PDF oraz funkcję JavaScript w celu pobrania treści PDF po stronie klienta.

Wnioski

W tym artykule pokazano, jak stworzyć aplikację internetową Blazor, która wykorzystuje bibliotekę IronPDF do generowania plików PDF ze stron internetowych.

IronPDF nie jest oprogramowaniem typu open source, jednak bezpłatny klucz próbny pozwala na korzystanie z niego w środowisku produkcyjnym bez znaków wodnych.

Często Zadawane Pytania

Jak zintegrować bibliotekę PDF z aplikacją po stronie serwera Blazor?

Możesz zintegrować bibliotekę PDF z aplikacją po stronie serwera Blazor, korzystając z IronPDF. Najpierw utwórz projekt Blazor w Visual Studio, a następnie zainstaluj bibliotekę IronPDF za pomocą menedżera pakietów NuGet lub wiersza poleceń. IronPDF pozwala na płynne generowanie dokumentów PDF z treści HTML.

Jakie metody są dostępne do generowania plików PDF z HTML w aplikacji Blazor?

W aplikacji Blazor można użyć metody RenderUrlAsPdf biblioteki IronPDF do konwersji adresów URL stron internetowych na pliki PDF lub metody RenderHtmlAsPdf do generowania plików PDF bezpośrednio z ciągów znaków HTML. Metody te zapewniają elastyczność w tworzeniu dokumentów PDF z różnych źródeł HTML.

Jak zapisać plik PDF w systemie plików klienta w aplikacji Blazor?

Aby zapisać plik PDF w systemie plików klienta w aplikacji Blazor, można użyć funkcji JavaScript do konwersji danych PDF na obiekt blob i zainicjowania pobierania. IronPDF zapewnia niezbędne narzędzia do generowania pliku PDF, który następnie może być obsługiwany za pomocą JavaScript po stronie klienta.

Jak wygląda proces tworzenia projektu po stronie serwera w Blazorze w Visual Studio?

Aby utworzyć projekt po stronie serwera Blazor w programie Visual Studio, należy wybrać opcję „Nowy projekt” z menu Plik, wybrać „Aplikacja serwerowa Blazor”, określić nazwę i lokalizację projektu oraz wybrać odpowiednią wersję .NET Framework. Taka konfiguracja pozwala na integrację dodatkowych bibliotek, takich jak IronPDF for .NET, w celu rozszerzenia funkcjonalności.

Czy za pomocą tej biblioteki mogę konwertować zawartość JavaScript i CSS w kodzie HTML do formatu PDF?

Tak, za pomocą IronPDF można konwertować zawartość JavaScript i CSS w HTML na PDF. Obsługuje on renderowanie zawartości HTML5, CSS i JavaScript, umożliwiając generowanie kompleksowych dokumentów PDF, które zachowują układ i styl oryginalnych stron internetowych.

Jakie kroki należy podjąć w przypadku, gdy generowanie plików PDF w Blazorze nie działa zgodnie z oczekiwaniami?

Jeśli generowanie plików PDF w Blazorze nie działa zgodnie z oczekiwaniami, upewnij się, że biblioteka IronPDF jest poprawnie zainstalowana w projekcie. Sprawdź, czy treść HTML jest poprawnie sformatowana i dostępna. Dodatkowo sprawdź, czy w konsoli przeglądarki nie ma błędów JavaScript, które mogłyby wpływać na proces renderowania plików PDF.

Jak mogę zapewnić, że moje dokumenty PDF będą zawierały nagłówki i stopki podczas korzystania z biblioteki PDF?

Aby dołączyć nagłówki i stopki do dokumentów PDF przy użyciu IronPDF, można skonfigurować opcje renderowania w celu dodania niestandardowej zawartości nagłówków i stopek. Pozwala to na dołączenie dodatkowych informacji, takich jak numery stron lub tytuły, do pliku PDF.

Czy w aplikacji Blazor można generować pliki PDF dla stron wymagających uwierzytelnienia?

Tak, IronPDF może generować pliki PDF dla stron wymagających uwierzytelnienia w aplikacji Blazor. Aby uzyskać dostęp do treści o ograniczonym dostępie przed konwersją do formatu PDF przy użyciu funkcji biblioteki, konieczne będzie zarządzanie plikami cookie lub tokenami uwierzytelniającymi.

Czy IronPDF jest kompatybilny z .NET 10 i jakie korzyści płyną z jego użycia w środowisku .NET 10?

Tak, IronPDF jest w pełni kompatybilny z .NET 10 — działa od razu po instalacji, bez konieczności stosowania niestandardowych rozwiązań, shimów czy przestarzałych dokumentacji API. .NET 10 wprowadza aktualizacje do ASP.NET Core i Blazor, w tym zwiększoną wydajność, lepsze zarządzanie zależnościami, ulepszoną obsługę odwołań do frameworków oraz lepszą izolację JavaScript, co przynosi korzyści dla procesów generowania plików PDF przy użyciu stron Razor, adresów URL lub treści HTML.

W jaki sposób użycie IronPDF z .NET 10 poprawia wydajność i efektywność działania?

Korzystanie z IronPDF w środowisku .NET 10 pozwala wykorzystać kilka ulepszeń środowiska uruchomieniowego, takich jak dewirtualizacja metod interfejsu tablicowego, analiza escape dla struktur, ulepszone optymalizacje JIT oraz obsługa instrukcji AVX-512. Ulepszenia te zmniejszają alokację pamięci, obniżają obciążenie związane z czyszczeniem pamięci oraz przyspieszają zadania takie jak renderowanie HTML i manipulowanie plikami PDF.

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

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie